先看题目描述
题目来自力扣这个题目,对于JS来说有个非常取巧的方法,也就是利用 parseInt()方法
parseInt(): 可解析一个字符串,并返回一个整数。
这个方法无视字符串前面的空格,无视非数字,如果该字符串不能进行转换则返回NaN
这个方法有两个参数:(需要转换的字符串, 数字基数(可选))
这里的数字基数一般为十进制,其余的用的比较少
代码如下:
/**
* @param {string} str
* @return {number}
*/
var myAtoi = function(str) {
const number = parseInt(str);
if(isNaN(number)) {
return 0;
}
if(number < Math.pow(-2, 31) || number > Math.pow(2, 31) - 1) {
return number < Math.pow(-2, 31) ? Math.pow(-2, 31) : Math.pow(2, 31) - 1
}
return number;
};
力扣官方有自动机的解法,非常经典,但既然JS给我们提供了parseInt这个方法,为啥我们不用呢😂
网友评论