【LeetCode】8. 字符串转换整数 (atoi)
这题用js实现感觉是个BUG...
碎碎念
先回顾一下parseInt
吧。
- 传入一个整数时,返回这个整数。
- 传入一个小数时,舍弃小数部分,返回整数。(舍弃,非四舍五入)
- ....有空接着写
解题思路
- 使用
parseInt
尝试转换s
- 如果转出来的是
NaN
那按题意,返回0
- 判断是否大于231 - 1 大于就返回231 - 1
- 判断是否小于-231 小于就返回-231
- 以上都不成立,那就返回转换结果(ans)喽~
function myAtoi(s: string): number {
const ans = parseInt(s)
if (isNaN(ans)) return 0
const max = Math.pow(2, 31) - 1
if (ans >= max) return max
const min = Math.pow(-2, 31)
if (ans <= min) return min
return ans
}