【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));
    }
}
相关推荐
wearegogog1237 小时前
光谱分析波段选择的连续投影算法
算法
执笔论英雄7 小时前
【RL】DAPO 数据处理
算法
why1517 小时前
面经整理——算法
java·数据结构·算法
悦悦子a啊8 小时前
将学生管理系统改造为C/S模式 - 开发过程报告
java·开发语言·算法
痕忆丶8 小时前
双线性插值缩放算法详解
算法
_codemonster9 小时前
深度学习实战(基于pytroch)系列(四十八)AdaGrad优化算法
人工智能·深度学习·算法
鹿角片ljp9 小时前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表
自由生长202410 小时前
位运算第1篇-异或运算-快速找出重复数字
算法
xxxxxmy10 小时前
同向双指针(滑动窗口)
python·算法·滑动窗口·同向双指针
释怀°Believe10 小时前
Daily算法刷题【面试经典150题-5️⃣图】
算法·面试·深度优先