1.题目描述
实现一个基本的计算器来计算一个简单的字符串表达式的值。
字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
示例 1:
输入: "3+2*2"
输出: 7
示例 2:输入: " 3/2 "
输出: 1
示例 3:输入: " 3+5 / 2 "
输出: 5
说明:你可以假设所给定的表达式都是有效的。
请不要使用内置的库函数 eval。
2.解题思路

参考链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/solution/ji-yu-zhan-qiu-jie-by-jalan/
3.代码实现
class Solution(object):
def evalRPN(self, tokens):
"""
:type tokens: List[str]
:rtype: int
"""
stack = []
for token in tokens:
if token == "+" or token == "-" or token == "*" or token == "/":
sec = stack.pop(-1)
fir = stack.pop(-1)
if token == "+":
ans = fir + sec
elif token == "-":
ans = fir - sec
elif token == "*":
ans = fir * sec
else:
if fir * sec < 0:
ans = -(-fir/sec)
else:
ans = fir/sec
stack.append(ans)
else:
stack.append(int(token))
return stack[-1]
来源:CSDN
作者:ccluqh
链接:https://blog.csdn.net/qq_28468707/article/details/103551802