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();
        }
    }
    

       

  • 相关阅读:
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    通用查询设计思想(2)- 基于ADO.Net的设计
    API接口通讯参数规范(2)
    Centos7 安装selenium(python3.7 centos7 )
    mysql (create temporary table table_name )临时表创建
    C# 字符串 String、StringBuffer和StringBuilder的区别
    安装Elasticsearch
  • 原文地址:https://www.cnblogs.com/buaaZhhx/p/12378316.html
Copyright © 2011-2022 走看看