leetcode evaluate-reverse-polish-notation

来源:互联网 发布:aspnet源码怎么搭建 编辑:程序博客网 时间:2024/06/08 08:18

Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are+,-,*,/. Each operand may be an integer or another expression.

Some examples:

  ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9  ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
import java.util.*;public class Solution {    public int evalRPN(String[] tokens) {        Stack<Integer> s = new Stack<>();        int a,b;        int c;        for(int i =0; i<tokens.length;++i)        {           if( tokens[i].equals("+"))           {               b = s.pop();               a = s.pop();               c = a + b;               s.push(c);           }else if(tokens[i].equals("-"))           {               b = s.pop();               a = s.pop();               c = a - b;               s.push(c);           }else if(tokens[i].equals("*"))           {               b = s.pop();               a = s.pop();               c = a * b;               s.push(c);           }else if(tokens[i].equals("/"))           {               b = s.pop();               a = s.pop();               c = a/b;               s.push(c);           }else           {              s.push(Integer.parseInt(tokens[i]));             }                    }        return s.pop();    }}


0 0