代码地址: http://runjs.cn/code/r06uftvp
-
首先得弄明白什么是 逆波兰表达式 参见 : http://www.cnblogs.com/chenying99/p/3675876.html
-
大致总结一下
-
我们平常的计算方法, 运算符放在两个数字之间 叫做 中缀表达式
-
如 2 + 3 * (5 - 1)
-
-
运算符放在两个数字前, 叫做 前缀表达式, 也叫 波兰式
-
如 + 2 * 3 - 5 1
-
从左往右直到遇见两个数字就用 两个数字前的 运算符 计算
-
-
运算符放在两个数字后, 叫做 后缀表达式, 也叫 逆波兰式
-
如 2 3 5 1 - * +
-
从右往左直到遇见两个数字就用 两个数字后的 运算符 计算
-
-
-
根据逆波兰式的计算方式我们可以得出一些简单的表达式验证方法
-
前两位必须是数字
-
运算符的个数只能比数字个数少一个
-
最后一位必须是运算符
-
连续运算符的长度只能比前边的数字少一个 (如 :3 3 - - 3 3 -, 是不对的)
-
来源:oschina
链接:https://my.oschina.net/u/130139/blog/537717