//给出一个32位的有符号整数,你需要将这个整数中每位上的数字反转
//实例:123 输出 321
//方法一: reverse 缺点:不断使用数据类型的转化会是运行时间变长
var reverse = function(x){
//记录最大和最小值
var min = Math.pow(-2, 31);
var max = Math.pow(2, 31)-1;
//记录符号位
var sign = Math.sign(x);
//记录绝对值
x = Math.abs(x);
var result = x.toString().split('').reverse().join('');
//添加符号位
result = sign * parseInt(result);
//判断结果是否溢出,溢出返回0,没有溢出返回结果
if(result > max){return 0};
if(result < min){return 0};
return result;
}
//方法二:求余法
var revere = function(x){
//记录最大和最小值
var min = Math.pow(-2, 31);
var max = Math.pow(2, 31)-1;
//记录符号位
var sign = Math.sign(x);
//记录绝对值
x = Math.abs(x);
var result = 0;
var remainder;
while(x > 0){
remainder = x % 10;
x = (x - remainder) / 10;
result = result * 10 + remainder;
}
//添加符号位
result *= sign;
//判断结果是否溢出,溢出返回0,没有溢出返回结果
if(result > max){return 0};
if(result < min){return 0};
return result;
}
console