美文网首页
整数反转

整数反转

作者: 前端小白加一枚 | 来源:发表于2019-07-31 11:19 被阅读0次

    题目要求

    给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。比如:
    输入:1234
    输出:4321
    或者
    输入:-120
    输出:-21

    注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    解题思路:
    首先取这个整数的绝对值,转换成String,然后split成数组,
    其次 逆转数组,最后判断是否为负数并且是否在规定范围内

    代码如下

    var reverse = function(x) {
        let arr = String(Math.abs(x)).split('');//取绝对值并转换为字符串,组成数组
        let result = '';
    //反转数组
        for(let i =0;i<arr.length;){
            result += arr.pop()
        }
        result = x>0?Number(result): - Number(result);
        if(result>Math.pow(2,31)-1|| result< -Math.pow(2,31)){
           result = 0;
          }
        return result
        
    };
    

    相关文章

      网友评论

          本文标题:整数反转

          本文链接:https://www.haomeiwen.com/subject/twlzrctx.html