给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
用到一些数组和字符串的处理方法
代码:
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
if(x == 0){
return 0;
}
//转换成字符串数组
var array = x.toString().split('');
var res, num;
if(array[0] <= '9' && array[0] >= '0'){
res = array.reverse();
while(res[0] == '0'){
//弹出一个
res.shift();
}
num = parseInt(res.join(''));
}
//是负数
else{
//取出原数组的后面部分
var t = array.splice(1).reverse();
while(t[0] == '0'){
//弹出一个
t.shift();
}
t.unshift('-');
num = parseInt(t.join(''));
}
if(num > 2147483647 || num < -2147483648){
num = 0;
}
return num;
};