(12+5)*2+3=37
+号向右移到5和12中间,计算5+12=17
×号向右移到2和17中间,计算2×17=34
再把+号向右移动到3和34中间,计算3+34=37
对于一个前缀表达式的求值而言,首先要从右至左扫描表达式,
从右边第一个字符开始判断,如果当前字符是数字则一直到数字串的
末尾再记录下来,如果是运算符,则将右边离得最近的两个“数字串”
作相应的运算,以此作为一个新的“数字串”并记录下来。一直扫描
到表达式的最左端时,最后运算的值也就是表达式的值。
例如,前缀表达式“- 1 + 2 3“的求值,扫描到3时,记录下这个数字串,
扫描到2时,记录下这个数字串,当扫描到+时,将+右移做相邻两数字串
的运算符,记为2+3,结果为5,记录下这个新数字串,并继续向左扫描,
扫描到1时,记录下这个数字串,扫描到-时,将-右移做相邻两数字串的
运算符,记为1-5,结果为-4,所以表达式的值为-4。