整数反转
给你一个 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;
};