150. 逆波兰表达式求值

  1. [题目链接](150. 逆波兰表达式求值 - 力扣(LeetCode))

  2. 解题思路:用一个栈,遇到数字压进去,遇到运算符则计算后压入栈

  3. 代码

    class Solution:
        def evalRPN(self, tokens: List[str]) -> int:
            stack = []
            ans = 0
            for s in tokens:
                if s == '+':
                    a = stack.pop()
                    b = stack.pop()
                    stack.append(a + b)
                elif s == '-':
                    a = stack.pop()
                    b = stack.pop()
                    stack.append(b - a)
                elif s == '*':
                    a = stack.pop()
                    b = stack.pop()
                    stack.append(a * b)
                elif s == "/":
                    a = stack.pop()
                    b = stack.pop()
                    stack.append(math.trunc(b / a))
                else:
                    stack.append(int(s))
            return stack.pop()
    
posted @ 2025-01-08 21:01  ouyangxx  阅读(12)  评论(0)    收藏  举报