首先,我们来看一下数学表达式的三种形式:前缀表达式,中缀表达式,后缀表达式。...下面问题转为为:如何利用栈实现中缀表达式求值,比如:34+13*9+44-12/3=191
思路:利用两个栈,其中一个用来保存操作数,另一个用来保存运算符。...def infix_evaluator(infix_expression : str) -> int :
'''这是中缀表达式求值的函数
:参数 infix_expression:中缀表达式...= '(':
# 每弹出一个运算符,就要弹出两个操作数来求值
# 注意弹出操作数的顺序是反着的,先弹出的数是op2...\(\)]',s))
['9', '+', '(', '3', '-', '1', '*', '2', ')', '*', '3', '+', '10', '/', '2']
因此利用栈实现中缀表达式求值中等偏难算法题基本完成