代码地址: http://runjs.cn/code/r06uftvphtml
首先得弄明白什么是 逆波兰表达式 参见 : http://www.cnblogs.com/chenying99/p/3675876.htmlcode
大体总结一下htm
咱们日常的计算方法, 运算符放在两个数字之间 叫作 中缀表达式blog
如 2 + 3 * (5 - 1)get
运算符放在两个数字前, 叫作 前缀表达式, 也叫 波兰式方法
如 + 2 * 3 - 5 1 总结
从左往右直到碰见两个数字就用 两个数字前的 运算符 计算co
运算符放在两个数字后, 叫作 后缀表达式, 也叫 逆波兰式数字
如 2 3 5 1 - * +运算符
从右往左直到碰见两个数字就用 两个数字后的 运算符 计算
根据逆波兰式的计算方式咱们能够得出一些简单的表达式验证方法
前两位必须是数字
运算符的个数只能比数字个数少一个
最后一位必须是运算符
连续运算符的长度只能比前边的数字少一个 (如 :3 3 - - 3 3 -, 是不对的)