题目概述
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +
, -
, *
, /
. Each operand may be an integer or another expression.
Note:
- Division between two integers should truncate toward zero.
- The given RPN expression is always valid. That means the expression would always evaluate to a result and there won’t be any divide by zero operation.
Example 1:
1 | Input: ["2", "1", "+", "3", "*"] |
Example 2:
1 | Input: ["4", "13", "5", "/", "+"] |
Example 3:
1 | Input: ["10", "6", "9", "3", "+", "-11", "*", "/", "*", "17", "+", "5", "+"] |
本题就是要实现一个简单的stack,当输入为数字的时候进行push操作,对于操作符则需要pop出两个数字,并且进行计算,最后返回stack中的唯一元素即可。
代码实现
1 | class Solution(object): |