
两个运算符以string形式输入
1 fourstring OP |
2 Fzzf 2017 年 1 月 22 日 table ,然后直接查表 |
3 linboki 2017 年 1 月 22 日 via Android 二维数组 |
4 hst001 2017 年 1 月 22 日 逆波兰表达式,遇到*/就出栈计算 |
5 fourstring OP @hst001 我就是在参考 https://zh.wikipedia.org/zh-hans/%E8%B0%83%E5%BA%A6%E5%9C%BAE7%AE%97%E6%B3%95 实现中缀式转逆波兰式。。。 |
6 steel1990 2017 年 1 月 22 日 via Android 给每个运算符指定一个数字,然后比较数字大小,多简单 |
7 xjp 2017 年 1 月 22 日 直接构造一个 map 记录每个操作符权值 然后相减啊 ```js function compare(op1, op2){ var weightMap = {"x":1, "/":1, "+":0 ,"-":0 }; return weightMap [op1] - weightMap [op2]; } ``` |
8 fourstring OP @xjp 是在下输了 |
9 zhidian 2017 年 1 月 22 日 写好测试例子,然后 eval 不就可以了。比如: > eval("1"+"+"+"2"+"*"+"3") 7 说明是 * 优先级高。 |
10 erlanye 2017 年 1 月 22 日 if else(或 switch case),没有比这个更优雅的了,上面的回复都是画蛇添足。 |
11 hxsf 2017 年 1 月 22 日 via iPhone 在学编译原理? 定义个 运算优先级表 |