给定一个 32 位有符号整数,将整数中的数字进行反转
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0
var reverse = function(x) {
// if(x>(Math.pow(2,31)-1)||x<(-Math.pow(2,31))){
// return 0;
// }
if(x<0){
var falg = true;
x = Math.abs(x);
}
x= x.toString();
var lenght = x.length;
data = x.split("");
var new_data = new Array();
if(lenght>=2){
for(var i=lenght-1;i>=0;i--){
if(data[lenght-1]==0){
data.pop();
}else{
j = data.pop();
new_data.push(j);
}
}
}else{
new_data = data;
}
var new_x = new_data.join('');
new_x = parseInt(new_x);
if(falg){
new_x = 0-new_x;
}
if(new_x>(Math.pow(2,31)-1)||new_x<(-Math.pow(2,31))){
return 0;
}
return new_x;
};
网友评论