Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
陷阱
- java int 的范围为 -2147483648->214748364710 如果超出则溢出
Code
public class Solution {
public int reverse(int x) {
int flag=1;
if(x<0){
flag=-1;
x=-x;
}
int num=0;
while(x!=0){
int temp=x%10;
if((Integer.MAX_VALUE-temp)/10<num&&flag==1) //正数时判断是否可能溢出
return 0;
if((Integer.MIN_VALUE+temp)/-10<num&&flag==-1)
return 0; //负数时判断是否溢出
num=num*10+temp;
x=x/10;
}
if(flag==1){
return num;
}
else{
return -num;
}
}
}