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

牛的表达式计算器

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题的解法思路

全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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