#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param tokens string字符串一维数组
# @return int整型
#
# 逆波兰表达式,基本思路,将列表进栈,如果遇到运算符号,出栈两个元素,得到一个结果,将这个结果入栈
# 然后如果再遇到运算符号再进行运算。
class Solution:
def evalRPN(self, tokens: List[str]) -> int:
# write code here
stack = []
op = "+-*/"
print(tokens)
for i in tokens:
if i not in op:
stack.append(i)
elif i in op:
a = int(stack.pop())
b = int(stack.pop())
if i == "+":
stack.append(str(a+b))
elif i == "-":
stack.append(str(b-a))
elif i == "*":
stack.append(str(a*b))
elif i == '/':
stack.append(str(int(b/a)))
return int(stack[0])