题目描述

颠倒整数
给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

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

思路

字符串和数组的之间的转换用split()和join().

JavaScript实现

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    let str = x.toString();
    let arr = str.split("").reverse();
    let ans = 0;
    if(x > 0){
        ans = parseInt(arr.join(""));
        if(ans >= 2147483648){  //2的31次方
            return 0;   
        }
        return ans;
    }else if(x < 0){
        arr.unshift(arr.pop());
        ans = parseInt(arr.slice(1, arr.length).join(""));
        if(ans >= 2147483648){
            return 0;   
        }
        return -ans;
    }else{
        return 0;
    }   
};


afra
225 声望23 粉丝

你的努力程度之低 远还没有到比拼天赋的需要。