用代码实现:逆波兰式也叫后缀表达式(将运算符写在操作数之后) 如:我们平时写a+b,这是中缀表达式,写成后缀表达式就是:ab+ ,使用逆波兰式表达式便于使用栈计算值
时间: 2024-02-27 18:58:29 浏览: 28
好的,以下是Python实现逆波兰表达式的代码:
```python
def evalRPN(tokens: List[str]) -> int:
stack = []
for token in tokens:
if token not in ["+", "-", "*", "/"]:
stack.append(int(token))
else:
b, a = stack.pop(), 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))
return stack.pop()
```
其中,tokens是一个字符串列表,表示逆波兰表达式,函数返回表达式的计算结果。代码中使用栈来计算表达式的值,对于每个运算符,将栈顶的两个数出栈并进行相应的运算,再将结果入栈。对于操作数,直接入栈即可。最后栈中剩下的一个数就是表达式的计算结果。