0
点赞
收藏
分享

微信扫一扫

LeetCode题解(0150):逆波兰表达式求值(Python)


题目:​​原题链接​​(中等)

标签:栈

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

O(N)

O(N)

44ms (89.77%)

Ans 2 (Python)

Ans 3 (Python)


LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。


解法一:

def evalRPN(self, tokens: List[str]) -> int:
stack = []
for token in tokens:
if token == "+":
b = stack.pop()
a = stack.pop()
stack.append(a + b)
elif token == "-":
b = stack.pop()
a = stack.pop()
stack.append(a - b)
elif token == "*":
b = stack.pop()
a = stack.pop()
stack.append(a * b)
elif token == "/":
b = stack.pop()
a = stack.pop()
stack.append(int(a / b))
else:
stack.append(int(token))

return stack[0]


举报

相关推荐

0 条评论