Skip to content
在本页面

整数反转

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

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

提示:

  • -231-1 <= x <= 231-1

思路

  • 转字符串, 反转回来
  • 一直取数值最后一位, 直到 0

字符串反转

TypeScript
function reverse(x: number): number {
    if (x === 0) return x;
    let str = x.toString().split('').reverse()
    if (x < 0) {
        str.unshift(str.pop())
    }
    const res = +str.join('');
    return res > (2 ** 31 - 1) || res < -(2 ** 31) ? 0 : res;
};

取模运算

TypeScript
function reverse(x: number): number {
    if (x === 0) return x;
    let res = 0;
    while (x !== 0) {
        res = res * 10 + x % 10;
        x = parseInt(''+(x / 10))
    }
    if () return 0;
    return res > (2 ** 31 - 1) || res < -(2 ** 31) ? 0 : res;
};

Released under the MIT License.