Given a 32-bit signed integer, reverse digits of an integer.
Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−2**31, 2**31 − 1]
. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
Input: x = 123
Output: 321
Input: x = -123
Output: -321
Input: x = 120
Output: 21
Input: x = 0
Output: 0
const reverse = (x) => {
let reverseX = parseInt(x.toString().split('').reverse().join(''));
let result = +reverseX;
if (x < 0 && -1 * result < Math.pow(-2, 31)) {
return 0;
} else if (x < 0) {
return (result *= -1);
}
if (result > Math.pow(2, 31) - 1) return 0;
return result;
};
const reverse = (x) => {
const limit = 2147483648;
const k = x < 0 ? -1 : 1;
const n = Number(String(Math.abs(x)).split('').reverse().join(''));
return n > limit ? 0 : n * k;
};