首页 > 其他 > 详细

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

时间:2019-11-02 17:34:53      阅读:101      评论:0      收藏:0      [点我收藏+]
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. 逆波兰表达式求值

原文:https://www.cnblogs.com/taoyuxin/p/11782379.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!