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

牛的表达式计算器

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

全部评论

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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