SOURCE

//给出一个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 命令行工具 X clear

                    
>
console