题解 | #逆波兰表达式求值#

逆波兰表达式求值

https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382

from operator import add, sub ,mul, truediv
class Solution:
    def evalRPN(self , tokens: List[str]) -> int:
        num_stack = []
        method = {"+": add, "-": sub, "*": mul, "/": truediv}
        while tokens:
            i = tokens.pop(0)
            if i in method:
                if i == "/":
                    a = num_stack.pop()
                    b= num_stack.pop()
                    output = int( b/a)
                    num_stack.append(output)
                elif i == "-":
                    output = int(-num_stack.pop() + num_stack.pop())
                    num_stack.append(output)
                else:
                    output = method[i](num_stack.pop() , num_stack.pop())
                    num_stack.append(output)
            else:
                num_stack.append(int(i))
        return num_stack.pop()
                
#python入门#
全部评论

相关推荐

10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
09-25 11:39
已编辑
北京航空航天大学 Java
我的代码出BUG了:@美团@腾讯@字节跳动@阿里巴巴。你们好好看看吧,你们就挂我吧,到时候被人家鸽穿还得录取我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务