Given a signed 32-bit integer x
, return x
with its digits reversed. If reversing x
causes the value to go outside the signed 32-bit integer range [-231, 231 - 1]
, then return 0
.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
let stringfiedNumber = String(x);
let negative = false;
if (stringfiedNumber[0] === '-') {
negative = true;
stringfiedNumber = stringfiedNumber.slice(1, stringfiedNumber.length);
}
let reversed = '';
for (let i = 0; i < stringfiedNumber.length; i ++) {
reversed = String(stringfiedNumber[i]) + reversed
}
if (negative) reversed = '-' + reversed
const result = Number(reversed)
if ((-2) ** 31 >= result || result >= (2 ** 31 - 1)) return 0;
return result
};