87,923
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>js 整数反转 算法 面试题 xinbiancheng.cn</title>
</head>
<body>
</body>
<script type="text/javascript">
function reverse(x) {
let INT_MAX=2147483648; //2的31次方
let INT_MIN=-2147483647 //-2的31次方
let rev = 0;
while (x != 0) {
let remainder = x % 10;
x = parseInt(x/10);
if (rev > INT_MAX/10 || (rev == INT_MAX / 10 && remainder > 7))
return 0;
if (rev < INT_MIN/10 || (rev == INT_MIN / 10 && remainder < -8))
return 0;
rev = rev * 10 + remainder;
}
return rev;
}
console.log(reverse(123));
console.log(reverse(-123));
console.log(reverse(120));
console.log(reverse(0));
console.log(reverse(2147483648));
</script>
</html>
更多此题的解法请参考: js 整数反转 算法 面试题