LeetCode | 007 反转整数No.007 Reverse Integer题目描述给定一个 32 位有符号整数,将整数中的数字进行反转。示例// 示例 1输入: 123输出: 321// 示例 2输入: -123输出: -321// 示例 3输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。分析相比于字符串有索引,取出整数的每一位通常是借助运算法则:除法、取余、乘法。此题我们可以运用循环取余的方式从最低位依次取出整数的每一位,然后对每一位加上之前的结果,乘以 10,就可以实现整数的反转。但是这里需要注意的是:可能是负整数,对于这种情况,得先设置一个变量保存符号,在最后返回结果是再把符号加上。另外,需要注意整数的范围,特别注意的是反转之后的整数也应该在这个范围内。JS 实现var reverse = function(x) { if (x < Math.pow(-2, 31) || x > Math.pow(2, 31) - 1) return 0 let ret, res = 0, nag if (x < 0) { x = Math.abs(x) nag = true } while(x) { ret = x % 10 x = Math.floor(x / 10) res += ret if (x) { res *= 10 } } res = (res < Math.pow(-2, 31) || res > Math.pow(2, 31) - 1) ? 0 : res return nag ? -res : res};关于本系列更新 LeetCode JS 版本的思路解法。欢迎一起交流学习。这是我的公众号: