首页 > 其他分享 >【逆波兰表达式】【栈】LeetCode 150. 逆波兰表达式求值

【逆波兰表达式】【栈】LeetCode 150. 逆波兰表达式求值

时间:2023-01-04 15:57:44浏览次数:63  
标签:equals pop else push token 波兰 numbers 求值 表达式

题目链接

150. 逆波兰表达式求值

思路

从左到右遍历 tokens 遇到数字便放入栈中,遇到运算符便弹出栈顶的两个数字进行运算。

代码

class Solution{
    public int evalRPN(String[] tokens){

        Stack<Integer> numbers = new Stack<>();

        for(String token : tokens){
            if(token.equals("+")){
                numbers.push(numbers.pop() + numbers.pop());
            }else if(token.equals("-")){
                numbers.push(-numbers.pop() + numbers.pop());
            }else if(token.equals("*")){
                numbers.push(numbers.pop() * numbers.pop());
            }else if(token.equals("/")){
                int n1 = numbers.pop(), n2 = numbers.pop();
                numbers.push(n2 / n1);
            }else{
                numbers.push(Integer.parseInt(token));
            }
        }

        return numbers.pop();
    }
}

拓展

标签:equals,pop,else,push,token,波兰,numbers,求值,表达式
From: https://www.cnblogs.com/shixuanliu/p/17025059.html

相关文章

  • python中正则表达式和模块函数介绍
    |符号|解释|示例|说明||-----------------......
  • 【spring-boot】spring aop 面向切面编程初接触--切点表达式【专题】
     众所周知,spring最核心的两个功能是aop和ioc,即面向切面,控制反转。这里我们探讨一下如何使用springaop。1.何为aopaop全称AspectOrientedProgramming,面向切面,AOP主要......
  • Java求值策略
    为什么说Java不存在引用传递?在Java语言中,存在两种数据类型,一种是基本类型,如int、byte等8种基本类型,一种是引用类型,如String、Integer等。这两种数据类型区别就在于,基本类......
  • 运算符和表达式
    一、运算符1.含义C语言中,数据是程序处理的对象,运算是对数据进行加工的过程,体现数据之间的各种不同运算关系的符号就称为运算符。C语言中,除了控制语句和输入输出以外的几乎......
  • 巧用数据分析表达式,让数据指标创建更简单
    实现数据+业务一体化的指标分析从零售系统进化史get数据统计的需求变更零售系统需要的数据统计需求V1.0只需要获取当日累计的销售额,于是店老板就用Excel或者纸质的表......
  • 基于linux下的shell正则表达式(grep,sed,awk)
    正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一......
  • 巧用数据分析表达式,让数据指标创建更简单
    实现数据+业务一体化的指标分析从零售系统进化史get数据统计的需求变更零售系统需要的数据统计需求V1.0只需要获取当日累计的销售额,于是店老板就用Excel或者纸质的表......
  • 常用的LinQ查询表达式之from
    Linq查询表达式包含8个常用的子句:from、where、select、join、into、orderby、group、let。from:指定查询操作的数据源和范围变量from子句指定了要作为数据源使用的数据......
  • 使用lambda表达式实现sort的自定义排序
    使用lambda表达式实现sort的自定义排序(C++andJava)首先大致讲一下什么是lambda表达式你也可以将它就当做是匿名函数,lambda表达式其实就是匿名函数演化出的一种语法系统......
  • 第十六章《正则表达式》第1节:正则表达式入门
    ​正则表达式能够定义一个字符串的格式,读者也可以理解为定义一个字符串的结构特征,例如定义一个电子邮件地址的结构特征等。而书写正则表达式需要使用一些有特殊含义的符号,专......