Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
解题思路就是除10取模操作,还有就是要处理反转后的溢出的问题。
public int reverse(int x) {
long sum=0;
if(x==0) return 0;
int flag=1;
if(x<0){
flag=-1;
}
long num=Math.abs((long)x);
while(num!=0){
long tmp=num%10;
sum=10*sum+tmp;
num=num/10;
}
if ((flag==1 && sum > Integer.MAX_VALUE) ||( flag ==-1 )&&(-1*sum < Integer.MIN_VALUE))
return 0;
return flag*(int)sum;
}