整数反转

题目描述

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例1:

1
2
输入: 123
输出: 321

示例2:

1
2
输入: -123
输出: -321

示例3:

1
2
输入: 120
输出: 21

注意:

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

我的解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
let str = x.toString()
let strArr = str.split('')
let result = []
if(strArr[0] === '-') {
let arr = strArr.reverse()
result = parseInt('-' + arr.slice(0, arr.length - 1).join('').toString())
} else {
result = parseInt(strArr.reverse().join('').toString())
}
return (result > 2147483647 || result < -2147483648) ? 0 : result
};

最优解

记录

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer/

推荐文章