元宝 LeetCode 7.整形反转 JavaScript实现
2026/9/19 19:04:15 网站建设 项目流程

下面是LeetCode 7. 整数反转JavaScript 实现,包含常见写法与注意事项 👇


✅ 题目描述(简述)

给你一个32 位有符号整数x,返回将x中的数字部分反转后的结果。

  • 如果反转后整数超出 32 位有符号整数范围[−2^31, 2^31 − 1],则返回0


✅ JavaScript 实现(推荐写法)

/** * @param {number} x * @return {number} */ var reverse = function (x) { const sign = x < 0 ? -1 : 1; let num = Math.abs(x); let res = 0; while (num > 0) { res = res * 10 + (num % 10); num = Math.floor(num / 10); } res *= sign; const INT_MIN = -(2 ** 31); const INT_MAX = 2 ** 31 - 1; if (res < INT_MIN || res > INT_MAX) { return 0; } return res; };

✅ 字符串写法(更直观)

var reverse = function (x) { const limit = 2 ** 31; const sign = x < 0 ? -1 : 1; const reversed = parseInt( Math.abs(x).toString().split('').reverse().join('') ) * sign; if (reversed < -limit || reversed > limit - 1) { return 0; } return reversed; };

✅ 示例

reverse(123); // 321 reverse(-123); // -321 reverse(120); // 21 reverse(1534236469); // 0(溢出)

✅ 关键点总结

  • 使用Math.abs()处理负数

  • % 10取末尾数字

  • Math.floor(num / 10)去掉末尾

  • 必须检查 32 位整数溢出

  • 2 ** 31 - 1是最大值


如果你需要逐行讲解时间/空间复杂度分析,也可以告诉我 😊

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询