String
var myAtoi = function (str) {
const len = str.length,
max = 2 ** 31 - 1,
min = -(2 ** 31)
let ret = 0,
flag = 1,
idx = 0
while (idx < len && str[idx] === ' ') idx++
if (str[idx] === '+' || str[idx] === '-') {
flag = str[idx] === '+' ? 1 : -1
idx++
}
while (idx < len && !Number.isNaN(parseInt(str[idx], 10))) {
ret = ret * 10 + +str[idx]
idx++
}
if (ret > max || ret < min) return flag === 1 ? max : min
return flag * ret
}Last updated