Reverse Integer

Problem

Given a 32-bit signed integer, reverse digits of an integer.

Note:

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.

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Example 4:

Input: x = 0
Output: 0

Constraints:

  • -231 <= x <= 231 - 1

My Solution

success
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;
};
success
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;
};