前端随笔:JS标准库Math-LeetCode150-逆波兰表达式求值

172 阅读1分钟

这是今天的每日一题,看起来挺简单,直接用栈解决掉;

根据 逆波兰表示法,求表达式的值。

有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

说明:

整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。

但,问题就出在舍入求值上了,我们都知道JavaScript中,1 + 2 != 3,是因为浮点运算的规则;

那放到这道题上,我们应该用什么舍入规则呢;

一开始我折腾半天,又是 abs 又是 floor 的,不对劲;

后面查查 MDN 发现有 Math.trunc(x) 这么个函数,作用是:

返回一个数的整数部分,直接去除其小数点及之后的部分。

哦~ 原来我要找的是他,这道题就解决了;

究其原因,还是自己对标准库不熟悉,多多努力吧~