题目
根据逆波兰表达式,求表达式的值。
有效的运算符包括 +
, -
, *
, /
。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:
- 整数除法只保留整数部分。
- 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
思路
class Solution:
def evalRPN(self, tokens: List[str]) -> int:
operators = '+-*/'
stack = []
for ch in tokens:
if ch not in operators:
stack.append(ch)
else:
num1 = stack.pop()
num2 = stack.pop()
cal = str(int(eval(num2 + ch + num1)))
stack.append(cal)
return int(stack[0])