这是今天的每日一题,看起来挺简单,直接用栈解决掉;
根据 逆波兰表示法,求表达式的值。
有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:
整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
但,问题就出在舍入求值上了,我们都知道JavaScript中,1 + 2 != 3,是因为浮点运算的规则;
那放到这道题上,我们应该用什么舍入规则呢;
一开始我折腾半天,又是 abs 又是 floor 的,不对劲;
后面查查 MDN 发现有 Math.trunc(x) 这么个函数,作用是:
返回一个数的整数部分,直接去除其小数点及之后的部分。
哦~ 原来我要找的是他,这道题就解决了;
究其原因,还是自己对标准库不熟悉,多多努力吧~