150. Evaluate Reverse Polish Notation
2016-10-31 20:58
381 查看
public static int evalRPN(String[] tokens) { if(tokens.length == 0) { return 0; } int len = tokens.length; Stack<String> num = new Stack<>(); Stack<String> op = new Stack<>(); for(int i = 0; i < len; i++) { if(tokens[i].equals("+") || tokens[i].equals("-") || tokens[i].equals("*") || tokens[i].equals("/")) { String num1 = num.pop(); String num2 = num.pop(); num.push(operate(num2,tokens[i],num1)); }else { num.push(tokens[i]); } } return Integer.valueOf(num.pop()); } public static String operate(String a, String op, String b) { int result = 0; switch(op) { case "+" : result = Integer.parseInt(a) + Integer.parseInt(b); break; case "-" : result = Integer.parseInt(a) - Integer.parseInt(b); break; case "*": result = Integer.parseInt(a) * Integer.parseInt(b); break; case "/": result = Integer.parseInt(a) / Integer.parseInt(b); break; default: result = 0; } return String.valueOf(result); }
相关文章推荐
- Leetcode 150. Evaluate Reverse Polish Notation
- LeetCode *** 150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation
- [leetcode] 【栈】150. Evaluate Reverse Polish Notation
- [LeetCode] 150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation(逆波兰式)
- 150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation
- leetcode 150.Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation
- leetcode-150. Evaluate Reverse Polish Notation
- leecode 解题总结:150. Evaluate Reverse Polish Notation
- [LeetCode]150.Evaluate Reverse Polish Notation
- LeetCode-150. Evaluate Reverse Polish Notation (JAVA)逆波兰表达式求值
- 150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation
- Middle-题目102:150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation**
- 150. Evaluate Reverse Polish Notation
- LeetCode 150. Evaluate Reverse Polish Notation