AB4 逆波兰表达式求值

思路:

step1:创建一个空栈stack,遍历tokens;
step2:i属于加减乘除,分别对ab赋值,进行运算并添加到stack中;
step3:如果i不属于加减乘除,将i添加到stack中;
step4:最终返回栈第一个元素;

代码如下:

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