150. Evaluate Reverse Polish Notation
2016-11-03 16:29
246 查看
也算比较简单的,需要一个stack放数字,每次遇到符号都把两个栈中的数字取出和符号操作,再放进去,剩下的最后一个就是答案。不过这个花时有点多。
public class Solution { Stack<String> numbers = new Stack<>(); public int evalRPN(String[] tokens) { int len =tokens.length; int first = 0; int second = 0; String symbol = ""; int result =0; if (len == 1)return Integer.parseInt(tokens[0]); for (int i=0;i<len;i++){ if (tokens[i].matches("(-)*(\\d)+"))//判断是数字 numbers.add(tokens[i]); else{ second = Integer.parseInt(numbers.pop()); //System.out.println(second); first = Integer.parseInt(numbers.pop()); //System.out.println(first); symbol = tokens[i]; if (symbol.equals("+")){ result = second+first; numbers.push(String.valueOf(result)); }else if (symbol.equals("-")){ result = first - second; numbers.push(String.valueOf(result)); }else if (symbol.equals("*")){ result = first*second ; numbers.push(String.valueOf(result)); }else if (symbol.equals("/")){ result = first/second; numbers.push(String.valueOf(result)); } } } //System.out.println(numbers.peek()); return Integer.parseInt(numbers.pop()); } }
相关文章推荐
- leetcode150 Evaluate Reverse Polish Notation
- leetcode-150-Evaluate Reverse Polish Notation
- LeetCode 150 — Evaluate Reverse Polish Notation(C++ Java Python)
- [LeetCode 150] Evaluate Reverse Polish Notation
- leetcode150 Evaluate Reverse Polish Notation
- LeetCode - 150 - Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation - LeetCode 150
- [LeetCode#150]Evaluate Reverse Polish Notation
- No150-Evaluate Reverse Polish Notation
- LeetCode150:Evaluate Reverse Polish Notation
- [leetcode 150] Evaluate Reverse Polish Notation
- leetcode_c++:栈:Evaluate Reverse Polish Notation(150)
- leetcode(150):Evaluate Reverse Polish Notation
- leetcode_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
- [Leetcode 150, Medium] Evaluate Reverse Polish Notation
- Leetcode#150 Evaluate Reverse Polish Notation