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

逆波兰表达式求值

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param tokens string字符串一维数组 
# @return int整型
#
class Solution:
    def evalRPN(self , tokens: List[str]) -> int:
        # write code here
        # 思路:后缀表达式遇到数字就入栈,遇到运算符就取出栈中的两个数字来运算,运算后的结果再入栈,等待与下一个数字运算。
        # 先建立辅助栈
        num = []
        # 遍历输入的表达式
        for i,val in enumerate(tokens):
            # 数字就入栈
            if (val != '+' and val != '-' and val != '*' and val != '/'):
                num.append(val)
            # 运算符就出栈并运算,运算结果再入栈
            elif val == '+':
                new_num = int(num.pop(-2)) + int(num.pop(-1))
                num.append(new_num)
            elif val == '-':
                new_num = int(num.pop(-2)) - int(num.pop(-1))
                num.append(new_num)
            elif val == '*':
                new_num = int(num.pop(-2)) * int(num.pop(-1))
                num.append(new_num)
            elif val == '/':
                new_num = int(num.pop(-2)) / int(num.pop(-1))
                num.append(new_num)
        # 返回值也要记得int强转!!!不然会返回null
        return int(num[-1])

#算法笔记#
全部评论

相关推荐

03-19 10:36
云南大学 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4278次浏览 75人参与
# AI面会问哪些问题? #
27722次浏览 552人参与
# 米连集团26产品管培生项目 #
13332次浏览 285人参与
# 你的实习产出是真实的还是包装的? #
20121次浏览 342人参与
# 找AI工作可以去哪些公司? #
9058次浏览 233人参与
# 春招至今,你的战绩如何? #
64941次浏览 580人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15184次浏览 221人参与
# 从事AI岗需要掌握哪些技术栈? #
8891次浏览 304人参与
# 中国电信笔试 #
31989次浏览 292人参与
# 你做过最难的笔试是哪家公司 #
33385次浏览 231人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340761次浏览 2174人参与
# 阿里笔试 #
178513次浏览 1315人参与
# 哪些公司真双非友好? #
69573次浏览 289人参与
# 机械人避雷的岗位/公司 #
62703次浏览 393人参与
# 第一份工作一定要去大厂吗 #
14543次浏览 122人参与
# 金三银四,你的春招进行到哪个阶段了? #
22072次浏览 280人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26246次浏览 310人参与
# 沪漂/北漂你觉得哪个更苦? #
9812次浏览 193人参与
# 应届生第一份工资要多少合适 #
20680次浏览 86人参与
# HR最不可信的一句话是__ #
6208次浏览 114人参与
# AI时代,哪个岗位还有“活路” #
11489次浏览 341人参与
# 春招你拿到offer了吗 #
831177次浏览 9987人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务