Evaluate Reverse Polish Notation
来源:互联网 发布:焦作淘宝实体店地 编辑:程序博客网 时间:2024/06/07 18:03
题目
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
方法
public int evalRPN(String[] tokens) { int len = tokens.length; Stack<Integer> stack = new Stack<Integer>(); for (int i = 0; i < len; i++) { String str = tokens[i]; char ch = str.charAt(0); if ((ch >= '0' && ch <= '9') || str.length() > 1) { int num = Integer.parseInt(str); stack.add(num); } else { int num1 = stack.pop(); int num2 = stack.pop(); int num = 0; switch(ch) { case '+' : num = num1 + num2; stack.add(num); break; case '-' : num = num2 - num1; stack.add(num); break; case '*' : num = num2 * num1; stack.add(num); break; case '/' : num = num2 / num1; stack.add(num); break; } } } return stack.peek(); }
0 0
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation
- 【svn问题】svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
- wxWidgets中从xrc文件中获取菜单选项的指针
- 同步与异步Socket
- jetty修改默认编码
- 用iostat对linux硬盘IO性能进行检测
- Evaluate Reverse Polish Notation
- CodeForces 20B Equation 水题
- 创建EC2
- Linux-2.6.32内核在mini2440上的移植 yaffs2文件系统移植
- 可推理的机器学习模型
- CodeForces 21C Stripe 2 构造题
- java经典书籍
- HDOJ 1002 C语言版
- 有哪些问题应该得到解决?