LeetCode(JavaScript实现)——整数反转


目录

  • 题目
  • JavaScript实现

题目 【LeetCode(JavaScript实现)——整数反转】给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1: 输入: 123 输出: 321示例 2: 输入: -123 输出: -321示例 3: 输入: 120 输出: 21

注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [?2^31, 2^31 ? 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
JavaScript实现 解题思路:
  1. 取整数绝对值 Math.abs(x)
  2. 把步骤1中的值转换层字符串
  3. 把步骤2中的字符串转换成数组
  4. 把步骤3中的数组进行反转,然后转换层字符串
  5. 把步骤5中字符串转换成 number 类型
  6. 根据 x 的正负,判断步骤5得到的值是否需要添加负号
  7. 判断步骤6得到的值是否溢出,如果溢出则返回0;否则原样返回
    具体实现代码如下所示:
/** * @param {number} x * @param {number} */ function reverse(x) { let result = Number(Math.abs(x).toString().split('').reverse().join('')) if (x < 0) return -result < Math.pow(-2, 31) ? 0 : -result; else return result > Math.pow(2, 31) - 1 ? 0 : result;

    推荐阅读