逆波兰表达式求值 javascript版

代码地址: 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 -, 是不对的)

转载于:https://my.oschina.net/u/130139/blog/537717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值