150. Evaluate Reverse Polish Notation
# Medium
Solution:
class Solution:
def evalRPN(self, tokens: List[str]) -> int:
i = 0
stack = []
while i < len(tokens):
st = tokens[i]
if st != '+' and st != '-' and st != '*' and st != '/':
stack.append(st)
else:
num2 = int(stack.pop())
num1 = int(stack.pop())
if st == '+':
res = num1 + num2
elif st == '-':
res = num1 - num2
elif st == '*':
res = num1 * num2
else:
if num1*num2 < 0:
res = num1*(-1)//num2 * (-1)
else:
res = num1//num2
stack.append(res)
i += 1
return stack.pop()Last updated