3 ---> a,1,3,+,=
从上面的例子可以看出:(1) 在两种表示中,运算对象出现的顺序相同;(2) 在后缀表示中,运算符按实际计算顺序从左到右排列,且每一运算符总是跟在其运算对象之后。...解题思路:
可以看出逆波兰表达式中的每一个运算符属于该运算符前的两个数字间的运算。如:
如波兰表达式:1,2,+
则加号前两个数字为1,2。...其运算符就是加号:1+2
得出结果:1+2=3
如波兰表达式:1,2,3,+,-
则加号前两个数字为2,3。...其运算符就是加号:2+3
得出结果2+3=5,则波兰表达式变为:1,5,-
减号前两个数字为1,5,其运算符就是减号:1-5
得出结果1-5=-4
由上面的的例子思路就很清晰了,直接用指针遍历表达式,遇到数字就入栈...,遇到运算符就弹出两个数字,把他们运算之后得出结果,再作为独立数字入栈。