LeetCode 第七题 反转整数/Reverse integer
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
代码
var reverse = function(x) {
/*
1.将整数转化为正整数
2.取出正整数的最后一位,作为反转整数的第一位
3.取出正整数的最后一位。
4.循环执行3,4.计算反转后的数
5.判断是否溢出
*/
var a = 1;
var b = 0;
if(!x){
return 0;
} else if(x<0){
a = -1;
x = -x;
} else {
a = 1;
}
while(x>0){
var c = x%10;
x=Math.floor(x/10);
b = b*10 + c;
}
// 判断溢出
if (b > Math.pow(2,31)-1){
return 0;
}
return b*a;
}