逆波兰表达式求值 javascript版

雨燕双飞 提交于 2020-02-29 12:57:29

代码地址: http://runjs.cn/code/r06uftvp

  1. 首先得弄明白什么是 逆波兰表达式 参见 : http://www.cnblogs.com/chenying99/p/3675876.html

  2. 大致总结一下

    1. 我们平常的计算方法, 运算符放在两个数字之间 叫做 中缀表达式

      1. 如 2 + 3 * (5 - 1)

    2. 运算符放在两个数字前, 叫做 前缀表达式, 也叫 波兰式

      1. 如 + 2 * 3 - 5 1 

      2. 从左往右直到遇见两个数字就用 两个数字前的 运算符 计算

    3. 运算符放在两个数字后, 叫做 后缀表达式, 也叫 逆波兰式

      1. 如 2 3 5 1 - * +

      2. 从右往左直到遇见两个数字就用 两个数字后的 运算符 计算

  3. 根据逆波兰式的计算方式我们可以得出一些简单的表达式验证方法

    1. 前两位必须是数字

    2. 运算符的个数只能比数字个数少一个

    3. 最后一位必须是运算符

    4. 连续运算符的长度只能比前边的数字少一个 (如 :3 3 - - 3 3 -, 是不对的)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!