leetcode-简单-栈-逆波兰表达式

Posted 笨宝宝

tags:

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

根据逆波兰表示法,求表达式的值。
有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:

 整数除法只保留整数部分。
 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
    public int evalRPN(String[] tokens) {
        Stack<Integer> stack = new Stack<>();
        int len = tokens.length;
        int ans = 0;
        Integer op1, op2;
        ArrayList<String> list =new ArrayList<>(Arrays.asList("+","-","*","/"));
        for(int i = 0; i < len; i++){
            if(list.contains(tokens[i])){
                if(!stack.empty()){
                    op1 = stack.pop();
                    if(!stack.empty()){
                        op2 = stack.pop();
                        switch (tokens[i]){
                            case "+":
                                stack.push(op1+op2);
                                break;
                            case "-":
                                stack.push(op2-op1);
                                break;
                            case "*":
                                stack.push(op2*op1);
                                break;
                            case "/":
                                try{
                                    stack.push(op2/op1);
                                }catch (Exception e){
                                    e.printStackTrace();
                                }
                        }
                    }
                }
            }else{
                stack.push(Integer.valueOf(tokens[i]));
            }
        }
        return stack.pop();
    }
}

   

以上是关于leetcode-简单-栈-逆波兰表达式的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Leetcode刷题100天—_150_逆波兰表达式求值(栈)—day04

Leetcode刷题100天—_150_逆波兰表达式求值(栈)—day04

LeetCode:150. 逆波兰表达式求值—栈

leetcode栈--1evaluate-reverse-polish-notation(逆波兰表达式)