整数反转–首尾交换法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
示例 1

输入:x = 123
输出:321
示例 2

输入:x = -123
输出:-321
示例 3

输入:x = 120
输出:21
示例 4

输入:x = 0
输出:0
/**
* @param {number} x
* @return {number}
*/
var reverse = function (x) {
const str = Math.abs(x).toString();
const arr = str.split("");
let left = 0;
let right = arr.length - 1;
while (left < right) {
[arr[left], arr[right]] = [arr[right], arr[left]];
left++;
right--;
}
const rever = arr.join("");
const result = x < 0 ? -rever : +rever;
const INT_MAX = 2147483647;
const INT_MIN = -2147483648;
return result > INT_MAX || result < INT_MIN ? 0 : result;
};