leetcode中等150逆波兰表达式求值

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等150逆波兰表达式求值相关的知识,希望对你有一定的参考价值。


思路:栈
遇到运算符,就去栈里找最上面两个数运算一下,再放回栈里

class Solution {
    public int evalRPN(String[] tokens) {
        Stack<Integer>stack=new Stack<>();
        for(String token:tokens){
            if(isNumber(token)) stack.push(Integer.parseInt(token));
            else{
                int num2 = stack.pop();
                int num1 = stack.pop();
                switch(token){
                    case "+":
                        stack.push(num1 + num2);
                        break;
                    case "-":
                        stack.push(num1 - num2);
                        break;
                    case "*":
                        stack.push(num1 * num2);
                        break;
                    case "/":
                        stack.push(num1 / num2);
                        break;
                    default:
                }
            }
        }
        return stack.pop();
    }
    public boolean isNumber(String token) {
        return !("+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token));
    }
}

以上是关于leetcode中等150逆波兰表达式求值的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:逆波兰表达式求值150

[LeetCode] 150. 逆波兰表达式求值

LeetCode 150. 逆波兰表达式求值

leetcode 150. 逆波兰表达式求值(栈)

[JavaScript 刷题] 栈 - 逆波兰表达式求值, leetcode 150

Leetcode No.150 逆波兰表达式求值