150.逆波兰表达式求值

难度:中等
题目描述:
150.逆波兰表达式求值_第1张图片
思路总结:这个没啥说的,中缀表达式,唯一值得注意的是Python中的//是向下取整的,也就是说-0.1会向下取整为-1。
题解一:

class Solution:
    def evalRPN(self, tokens: List[str]) -> int:
        stack = []
        operators = ["+", "-", "*", "/"]
        for i in range(len(tokens)):
            if tokens[i] in operators:
                r = stack.pop()
                l = stack.pop()
                if tokens[i] == "+":
                    stack.append(l+r)
                elif tokens[i] == "-":
                    stack.append(l-r)
                elif tokens[i] == "*":
                    stack.append(l*r)
                elif tokens[i] == "/":
                    stack.append(int(l/r))
            else:
                stack.append(int(tokens[i]))
        return stack.pop()

题解一结果:
在这里插入图片描述

你可能感兴趣的:(朱滕威的面试之路)