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

150.逆波兰表达式求值

方法:使用栈

java 复制代码
class Solution {
    public int evalRPN(String[] tokens) {
        Stack<Integer> numStack = new Stack<>();
        for(int i = 0; i < tokens.length;i++){
            String token = tokens[i];
            if(isNumber(token)){
                numStack.push(Integer.parseInt(token));
            }else{
                int num1 = numStack.pop();
                int num2 = numStack.pop();
                switch(token){
                    case "+":
                        numStack.push(num1 + num2);
                        break;
                    case "-":
                        numStack.push(num2 - num1);
                        break;
                    case "*":
                        numStack.push(num1 * num2);
                        break;
                    case "/":
                        numStack.push(num2 / num1);
                        break;
                    default:
                }
           
            }
        }
        return numStack.pop();
    }
    public boolean isNumber(String token){
        return !("+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token));
    }
}
相关推荐
2501_924952691 分钟前
C++模块化编程指南
开发语言·c++·算法
qzhqbb1 分钟前
差分隐私与大模型+差分隐私在相关领域应用的论文总结
人工智能·算法
2401_831920745 分钟前
基于C++的爬虫框架
开发语言·c++·算法
我是咸鱼不闲呀5 分钟前
力扣Hot100系列22(Java)——[图论]总结(岛屿数量,腐烂的橘子,课程表,实现Trie(前缀树))
java·leetcode·图论
MSTcheng.11 分钟前
【优选算法必修篇——位运算】『面试题 01.01. 判定字符是否唯一&面试题 17.19. 消失的两个数字』
java·算法·面试
weixin_4219226912 分钟前
模板元编程性能分析
开发语言·c++·算法
2401_8512729914 分钟前
C++中的类型擦除技术
开发语言·c++·算法
Liu6288815 分钟前
C++命名空间使用规范
开发语言·c++·算法
tankeven17 分钟前
【无标题】
数据结构·c++·算法
bbbb36518 分钟前
算法性能建模的数值方法与误差分析的技术7
算法