《LeetCode力扣练习》代码随想录——栈与队列(逆波兰表达式求值---Java)

《LeetCode力扣练习》代码随想录——栈与队列(逆波兰表达式求值—Java)



刷题思路来源于 代码随想录

150. 逆波兰表达式求值
  • class Solution {
        public int evalRPN(String[] tokens) {
    
            // Stack stack=new Stack<>();
            Deque<Integer> stack=new ArrayDeque<>();
            // Deque stack=new LinkedList<>();
    
            for(int i=0;i<tokens.length;i++){
    
                if(tokens[i].equals("+")){
                    stack.push(stack.pop()+stack.pop());
                }else if(tokens[i].equals("-")){
                    stack.push(-(stack.pop()-stack.pop()));
                }else if(tokens[i].equals("*")){
                    stack.push(stack.pop()*stack.pop());
                }else if(tokens[i].equals("/")){
                    int temp1=stack.pop();
                    int temp2=stack.pop();
                    stack.push(temp2/temp1);
                }else{
                    stack.push(Integer.valueOf(tokens[i]));
                }
    
            }
    
            return stack.pop();
    
        }
    }
    

你可能感兴趣的:(LeetCode,leetcode,java,算法)