首页 > 其他分享 >逆波兰表达式

逆波兰表达式

时间:2023-10-29 20:46:07浏览次数:28  
标签:String val int 波兰 Stack 表达式

class Solution {
    public int evalRPN(String[] tokens) {
      Stack st = new Stack();
        boolean flag= true;
        int val =0 ;
        for(int i =0;i<tokens.length;i++){
                if("+".equals(tokens[i])){
                    int a = Integer.valueOf(st.pop().toString());
                    int b = Integer.valueOf(st.pop().toString());
                    st.push(b+a);
                }else if("-".equals(tokens[i])){
                    int a = Integer.valueOf(st.pop().toString());
                    int b = Integer.valueOf(st.pop().toString());
                    st.push(b-a);
                }else if("*".equals(tokens[i])){
                    int a = Integer.valueOf(st.pop().toString());
                    int b = Integer.valueOf(st.pop().toString());
                    st.push(b*a);
                }else if("/".equals(tokens[i])){
                    int a = Integer.valueOf(st.pop().toString());
                    int b = Integer.valueOf(st.pop().toString());
                    st.push(b/a);
                }else{
                    st.push(tokens[i]);
                }
        }
        return Integer.valueOf(st.peek().toString());
    }
}

  

标签:String,val,int,波兰,Stack,表达式
From: https://www.cnblogs.com/yingpu/p/17796410.html

相关文章

  • Java21的新表达式类型-模板表达式
    大家好,我是老七,点个关注吧,将持续更新更多精彩内容!在Java编程语言里,模板表达式这个新玩意儿给大家带来了全新的表达式类型。这篇文章会给大家详细讲解模板表达式是什么,如何用它,以及通过具体的代码示例来展示它的优点。什么是模板表达式模板表达式是Java21里新出的一个表达式类型。它......
  • Visual Studio 2022 正则表达式
    VisualStudio2022支持使用正则表达式进行搜索和替换操作。在搜索框中,可以点击“正则表达式”按钮来启用正则表达式模式。下面是一些常用的正则表达式示例:匹配数字:\d匹配字母:[a-zA-Z]匹配空格:\s匹配任意字符:.匹配一个或多个字符:+匹配零个或多个字符:*匹配起始位置:^匹配......
  • 常用正则表达式
    一、正则表达式语法1.元字符字符匹配符选择匹配符限定符定位符分组组合和反向引用符元字符(Metacjaracter)-转义号\\\\符号 说明:在我们使用正则表达式去检索某些特殊字符的时候,需要用到转义符号,否则检索不到结果,甚至会报错。特殊:在Java的正则表达式中,两个\\代表其他......
  • 正则表达式
     关于正式表达式参考资料:http://events.jianshu.io/p/dc3dfb98dfbb   查找匹配类的规则标识符解释示例^匹配行首 $匹配行末 \<匹配词首 \>匹配词末 ^$匹配空行 \B匹配非边界aajavabb; 用法可以是:\Bjava,java\B,\Bjava\B......
  • 拉姆达表达式
    拉姆达表达式(LambdaExpression)是一种匿名函数,它允许开发者在代码中快速定义简单的函数。Lambda表达式通常用于简化代码逻辑,特别是在处理集合和流时。Lambda表达式的语法如下:(parameters)->expression其中,`parameters`是参数列表,可以有零个或多个参数;`->`是箭头符号,用于......
  • JAVA中char类型加减乘除运算表达式返回类型
    我们都知道java中,如果char类型和int类型做加减法,那么char类型会被精度提升至int类型然后参与运算,返回的也是int类型的数据。那么如果表达式中参与运算的均为char类型,那么表达式返回的类型是什么呢?'A'-'a'经过简单测试,是int类型。charc='w';sb.append('A'+c-'a');......
  • java如何从Content-Disposition获取文件名的正则表达式
    一,主要是关于:post请求下载文件,如何从Content-Disposition获取文件名的正则表达式记录:HttpResponsehttpResponse=httpRequest.execute();byte[]bytes=httpResponse.bodyBytes();Stringheader=httpResponse.header("Content-Disposition")......
  • 【Java 进阶篇】JavaScript 正则表达式(RegExp)详解
    JavaScript正则表达式,通常简写为RegExp,是一种强大的文本匹配工具,它允许你通过一种灵活的语法来查找和替换字符串中的文本。正则表达式在编程中用途广泛,不仅限于JavaScript,在许多编程语言中也都有类似的实现。什么是正则表达式正则表达式,简称正则或RegExp,是一个用于描述字符模式......
  • 最全常用正则表达式大全
    一、校验数字的表达式 1.数字:^[0-9]*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]*)$6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7.带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?......
  • 常用正则表达式
    1.【整数+小数】(包含正数、零、负数)/^-?(0|([1-9][0-9]*))(\.[\d]+)?$/2.非负【整数+小数】(包含正数、零)/^(0|([1-9][0-9]*))(\.[\d]+)?$/3.【整数+小数】(小数严格保留两位小数)(包含正数、零、负数)/^-?(0|([1-9][0-9]*))(\.[\d]{2})?$/4.非负【整数+小数......