题解 | #逆波兰表达式求值#
逆波兰表达式求值
https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382
from operator import add, sub ,mul, truediv
class Solution:
def evalRPN(self , tokens: List[str]) -> int:
num_stack = []
method = {"+": add, "-": sub, "*": mul, "/": truediv}
while tokens:
i = tokens.pop(0)
if i in method:
if i == "/":
a = num_stack.pop()
b= num_stack.pop()
output = int( b/a)
num_stack.append(output)
elif i == "-":
output = int(-num_stack.pop() + num_stack.pop())
num_stack.append(output)
else:
output = method[i](num_stack.pop() , num_stack.pop())
num_stack.append(output)
else:
num_stack.append(int(i))
return num_stack.pop()
#python入门#
class Solution:
def evalRPN(self , tokens: List[str]) -> int:
num_stack = []
method = {"+": add, "-": sub, "*": mul, "/": truediv}
while tokens:
i = tokens.pop(0)
if i in method:
if i == "/":
a = num_stack.pop()
b= num_stack.pop()
output = int( b/a)
num_stack.append(output)
elif i == "-":
output = int(-num_stack.pop() + num_stack.pop())
num_stack.append(output)
else:
output = method[i](num_stack.pop() , num_stack.pop())
num_stack.append(output)
else:
num_stack.append(int(i))
return num_stack.pop()
#python入门#