题解 | #牛的表达式计算器#
牛的表达式计算器
https://www.nowcoder.com/practice/261e7f01438f414c92f59c0059d3a906
- 题目考察的知识点: 对后缀表达式的理解,对栈的理解
- 题目解答方法的文字分析:
- 初始化一个空栈
- 从左到右扫描表达式
- 当扫描到数字时,将数字压入栈
- 当扫描到运算符时,弹出栈顶的两个数字进行运算,并将结果压入栈
- 重复步骤2-4,直到表达式扫描完毕
- 栈顶的数字就是表达式的计算结果
- 本题解析所用的编程语言: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题的解法思路