题目:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
解决:
/*
* @lc app=leetcode.cn id=7 lang=javascript
*
* [7] 整数反转
*/
// @lc code=start
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
let xArr = x.toString().split("");
let xNewArr;
let reverseX;
// 取反操作 ~a+1
if (xArr[0] === "-") {
xNewArr = xArr.slice(1);
xNewArr.push("-");
}
else xNewArr = xArr;
reverseX = Number(xNewArr.reverse().join(""));
if (reverseX > - Math.pow(2, 31) && reverseX < (Math.pow(2, 31) - 1)) {
return reverseX;
}
else return 0;
};
// @lc code=end