LeetCode:Evaluate Reverse Polish Notation
阿新 • • 發佈:2019-02-05
這題比較簡單,堆疊的應用,記得大學的時候學過。
以前學過覺得簡單,其實我覺得堆疊的這個應用還是很精妙的。
public class Solution { public int evalRPN(String[] tokens) { Stack<Integer> stack = new Stack<Integer>(); for (String token : tokens) { if (token.equals("+") || token.equals("-") || token.equals("*") || token.equals("/")) { Integer s1 = stack.pop(); Integer s2 = stack.pop(); Integer result = 0; if (token.equals("+")) { result = s1 + s2; } else if (token.equals("-")) { result = s2 - s1; } else if (token.equals("*")) { result = s2 * s1; } else if (token.equals("/")) { result = s2 / s1; } stack.push(result); } else { stack.push(Integer.valueOf(token)); } } return stack.pop().intValue(); } }