LeetCode 第七题 反转整数/Reverse integer

LeetCode 第七题 反转整数/Reverse integer

给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

代码

var reverse = function(x) {
    /*
    1.将整数转化为正整数
    2.取出正整数的最后一位,作为反转整数的第一位
    3.取出正整数的最后一位。
    4.循环执行3,4.计算反转后的数
    5.判断是否溢出
    */
    var a = 1;
    var b = 0;

    if(!x){
        return 0;
    } else if(x<0){
        a = -1;
        x = -x;
    } else {
        a = 1;
    }

    while(x>0){
        var c = x%10;
        x=Math.floor(x/10);
        b = b*10 + c;
    } 


    // 判断溢出
    if (b > Math.pow(2,31)-1){
        return 0;
    }
    return b*a;
}

猜你喜欢

转载自blog.csdn.net/qq_25781517/article/details/79968891