题解 | #牛的表达式计算器#
牛的表达式计算器
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题的解法思路
