zoukankan      html  css  js  c++  java
  • 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();
        }
    }
    

       

  • 相关阅读:
    Climbing Stairs
    交换排序
    解析Ceph: Snapshot
    OpenStack Hacker养成指南
    从UnitedStack OS 1.0 Preview试用申请问卷调查学习OpenStack
    Tun/Tap interface tutorial
    Linux下的TUN/TAP编程
    基于KVM的虚拟化研究及应用
    Linux 上的基础网络设备详解
    linux下TUN/TAP虚拟网卡的使用
  • 原文地址:https://www.cnblogs.com/buaaZhhx/p/12378316.html
Copyright © 2011-2022 走看看