首页 > 其他 > 详细

7. 整数反转

时间:2021-05-07 23:51:16      阅读:22      评论:0      收藏:0      [点我收藏+]
题目来源: 7. 整数反转 
// 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
// 如果反转后整数超过 32 位的有符号整数的范围 [?2^31,  2^31 ? 1] ,就返回 0。
// 假设环境不允许存储 64 位整数(有符号或无符号)。
/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    let rev = 0;
    while (x !== 0) {
        const digit = x % 10;
        x = ~~(x / 10);
        rev = rev * 10 + digit;
        if (rev < Math.pow(-2, 31) || rev > Math.pow(2, 31) - 1) {
            return 0;
        }
    }
    return rev;
};

方法二:转为字符串->数组,然后用数组的reverse

var reverse = function(x) {
    let d = Array.from((Number(x)+‘‘));
    let minus = false;
    if(d[0] == ‘-‘){
        d.shift();
        minus = true;
    }
    let str = (minus?‘-‘:‘‘)+d.reverse().join(‘‘);
    let rev = Number(str);
    if (rev < Math.pow(-2, 31) || rev > Math.pow(2, 31) - 1) {
        return 0;
    }
    return rev;
}

 

7. 整数反转

原文:https://www.cnblogs.com/yanjianjiang/p/14742058.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!