整数反转

2019-07-31  本文已影响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
    
};
上一篇下一篇

猜你喜欢

热点阅读