美文网首页
150. Evaluate Reverse Polish Not

150. Evaluate Reverse Polish Not

作者: 衣介书生 | 来源:发表于2018-04-05 14:53 被阅读25次

题目分析

题目链接
这道题目是要用栈来模拟四则运算。

代码

import java.util.Stack;

public class Solution {
    public int evalRPN(String[] tokens) {
        // Stack
        // push pop peek empty search
        if(tokens == null) {
            return 0;
        }
        Stack<Integer> s = new Stack<>();
        for(String token : tokens) {
            if(token.equals("+")) {
                s.push(s.pop() + s.pop());
            } else if(token.equals("-")) {
                int operandRight = s.pop();
                int operandLeft = s.pop();
                s.push(operandLeft - operandRight);
            } else if(token.equals("*")) {
                s.push(s.pop() * s.pop());
            } else if(token.equals("/")) {
                int operandRight = s.pop();
                int operandLeft = s.pop();
                s.push(operandLeft / operandRight);
            } else {
                s.push(Integer.valueOf(token));
            }
        }
        return s.pop();
    }
}

相关文章

网友评论

      本文标题:150. Evaluate Reverse Polish Not

      本文链接:https://www.haomeiwen.com/subject/omenqftx.html