题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
例如:
输入: -123
输出: -321
解法:
var reverse = function(x) {
let unit = x < 0 ? '-' : '';
let result = Math.abs(x).toString().split('').reverse().join('');
if(result > (Math.pow(2, 31) - 1) || result < -Math.pow(2, 31)) {
return 0;
}
return Number(unit + result)
};
解题思路
- 我们先得到传进来的数的绝对值,处理得到的绝对值
- 分别把这个数转化成字符串,数组,翻转,字符串
- 判断结果是否在[−231, 231 − 1]区间
- 最后返回符号 + 结果
