• 150.逆波兰表达式求值


    1.题目描述:

      根据逆波兰表示法,求表达式的值。

      有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

      说明:

      整数除法只保留整数部分。
      给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况

      链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation

    2.解题思路及代码

      利用栈的特性,遍历表达式,若遇到运算对象则加入栈中,若遇到运算符号,则调取栈顶的2个元素进行运算,结果加到栈顶;

      代码如下:

    class Solution {
        public int evalRPN(String[] tokens) {
            Stack<Integer> s=new Stack<Integer>();
            for(String x:tokens) {
                if(x.equals("+"))
                    s.push(s.pop()+s.pop());
                else if(x.equals("-"))
                    s.push(-s.pop()+s.pop());
                else if(x.equals("*"))
                    s.push(s.pop()*s.pop());
                else if(x.equals("/")) {
                    int tmp=s.pop();
                    s.push(s.pop()/tmp);
                }else
                    s.push(Integer.valueOf(x));
            }
            return s.pop();
        }
    }
  • 相关阅读:
    。。
    6-4 静态内部类
    SQL把一个表里的数据赋值到另外一个表里去
    jquery 设置 disabled属性
    6-4 内部类
    DWR 整合之Struts2.3.16
    DWR整合之JSF
    DWR整合之Servlet
    dwr.xml 配置
    认识DWR
  • 原文地址:https://www.cnblogs.com/teensSpirit-code-life/p/11815676.html
Copyright © 2020-2023  润新知