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;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25781517/article/details/79968891
文章标签: javascript LeetCode
个人分类: LeetCode
上一篇LeetCode 第一题 两数之和/Two sum
下一篇LeetCode 第九题 回文数/Palindrome Number
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭