题目描述:
给定一个 32 位有符号整数,将整数中的数字进行反转。要求如下:
只翻转数字,符号位不进行翻转。
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。如果反转后的整数溢出,则返回 0。
示例:
输入: 123
输出: 321
输入: -123
输出: -321
输入: 120
输出: 21
输入: 2147483649
输出: 0
解决方法:
var reverse = function(x){
var resultArr = [];
var resultNum;
resultArr = x.toString().split("");
if(resultArr[0] == "-"){
resultArr.shift();
resultArr.reverse().unshift("-");
resultNum = resultArr.join("");
}else{
resultNum = resultArr.reverse().join("");
}
resultNum = parseInt(resultNum);
if(resultNum > Math.pow(2,31)-1 || resultNum < -Math.pow(2,31)){
return 0;
}
return resultNum;
};