遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中
注意:题目中要求两个整数之间的除法总是 向零截断 !
class Solution(object):
def evalRPN(self, tokens):
arr=[]
for i in tokens:
if i=='+':
num2=arr.pop()
num1=arr.pop()
num3=num1+num2
arr.append(num3)
elif i=='-':
num2=arr.pop()
num1=arr.pop()
num3=num1-num2
arr.append(num3)
elif i=='*':
num2=arr.pop()
num1=arr.pop()
num3=num1*num2
arr.append(num3)
elif i=='/':
num2=arr.pop()
num1=arr.pop()
num3=num1/num2
if num1%num2!=0 and num3<0:
num3+=1
arr.append(num3)
else:
arr.append(int(i))
return arr.pop()