leetcode——150. 逆波兰表达式求值

Posted 欣姐姐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode——150. 逆波兰表达式求值相关的知识,希望对你有一定的参考价值。

class Solution(object):
    def evalRPN(self, tokens):
        """
        :type tokens: List[str]
        :rtype: int
        """
        stack=[]
        for i in tokens:
            if i not in +-*/:
                stack.append(i)
            else:
                a=stack.pop()
                b=stack.pop()
                if i==+:
                    c=int(a)+int(b)
                    stack.append(c)
                if i==-:
                    c = int(b) - int(a)
                    stack.append(c)
                if i==*:
                    c = int(a) * int(b)
                    stack.append(c)
                if i==/:
                    c = int(b) / int(a)
                    if int(a)*int(b)<0 and int(b)!=c*int(a):
                        c=c+1
                    stack.append(c)
        return stack.pop()
执行用时 :60 ms, 在所有 python 提交中击败了92.56%的用户
内存消耗 :13.7 MB, 在所有 python 提交中击败了6.25%的用户
 
——2019.11.2

以上是关于leetcode——150. 逆波兰表达式求值的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 150. 逆波兰表达式求值

leetcode 150. 逆波兰表达式求值(栈)

[JavaScript 刷题] 栈 - 逆波兰表达式求值, leetcode 150

Leetcode No.150 逆波兰表达式求值

leetcode150. 逆波兰表达式求值

Leetcode栈与队列150. 逆波兰表达式求值(后缀表达式求值!!看作对对碰游戏!!)