LeetCode150-逆波兰表达式求值

题目描述:
LeetCode150-逆波兰表达式求值_第1张图片
求解:遍历列表元素,操作数入栈,操作符取栈顶两元素运算并将结果压入栈,最后的元素即为结果。

class Solution:
    def evalRPN(self, tokens: List[str]) -> int:
        stack=[]
        for i in tokens:
            if i not in '+-*/':
                stack.append(int(i))
            else:
                a1=stack.pop()
                a2=stack.pop()
                if i=='+':
                    stack.append(a1+a2)
                elif i=='-':
                    stack.append(a2-a1)
                elif i=='*':
                    stack.append(a1*a2)
                else:
                    stack.append(int(a2/a1))
        return stack.pop()

在这里插入图片描述

你可能感兴趣的:(leetcode)