设计算法计算逆波兰表达式的值
时间: 2023-05-21 18:05:23 浏览: 246
可以使用栈来实现逆波兰表达式的计算,具体算法如下:
1. 创建一个数值栈,用于存储计算结果。
2. 遍历逆波兰表达式,对于每个元素:
- 若元素为数值,则将其入栈。
- 若元素为运算符,则弹出栈顶的两个数值进行计算,并将计算结果入栈。
3. 遍历完成后,栈内仅剩一个元素,即为逆波兰表达式的计算结果。
示例代码:
```python
def evalRPN(tokens):
stack = []
for token in tokens:
if token in '+-*/':
b = stack.pop()
a = stack.pop()
if token == '+':
stack.append(a + b)
elif token == '-':
stack.append(a - b)
elif token == '*':
stack.append(a * b)
else:
stack.append(int(a / b))
else:
stack.append(int(token))
return stack[0]
```
其中,tokens为逆波兰表达式的列表,返回值为表达式的计算结果。
阅读全文