You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

47 lines
702 B

/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
var sign = 1;
var magnitude = 1;
var reverse = 0;
var digits = [];
if (x < 0){
sign = -1;
x = x * sign;
}
if (x === 0){
return reverse;
}
while (x > 0){
digits.push(getTensDigit(x));
x = popDigit(x);
}
for (var i = digits.length -1; i >= 0; --i){
reverse += (digits[i] * magnitude);
magnitude *= 10;
}
if (reverse > 2147483647){
return 0;
}
reverse = reverse * sign;
return reverse;
};
function getTensDigit(value){
var digit = value % 10;
return digit;
}
function popDigit(value){
value = Math.floor(value / 10);
return value;
}