题解 | #牛的表达式计算器#

牛的表达式计算器

https://www.nowcoder.com/practice/261e7f01438f414c92f59c0059d3a906

  • 题目考察的知识点: 对后缀表达式的理解,对栈的理解
  • 题目解答方法的文字分析:
  1. 初始化一个空栈
  2. 从左到右扫描表达式
  3. 当扫描到数字时,将数字压入栈
  4. 当扫描到运算符时,弹出栈顶的两个数字进行运算,并将结果压入栈
  5. 重复步骤2-4,直到表达式扫描完毕
  6. 栈顶的数字就是表达式的计算结果
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码

from re import T
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param tokens string字符串一维数组 
# @return int整型
#
class Solution:
    def calculatePostfix(self , tokens: List[str]) -> int:
        nums = []
        for t in tokens:
            if t not in ['+', '-', '*', '/']:
                print(t)
                nums.append(int(t))
            else:
                b = nums.pop(-1)
                a = nums.pop(-1)

                if t == '+':
                    nums.append(a + b)
                elif t == '-':
                    nums.append(a - b)
                elif t == '*':
                    nums.append(a * b)
                else:
                    nums.append(int(a / b))
            print(nums)
        return nums.pop()
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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