Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
1. use long type to handle overflow that return 0 if overflow
2. To handle negative case => always convert to negative to positive first
Check the coding in detail below:
public class Solution {
public int reverse(int x) {
boolean negSign=false;
//negetive case => alwyas convert to Positive first
if(x<0){
x=-x;
negSign=true;
}
//normal case
long reverseX=0;
int temp=x;
while(temp>0){
reverseX=reverseX*10+temp%10;
temp/=10;
}
//return 0 if overflow, instead of throw exception
if(reverseX>Integer.MAX_VALUE){
return 0;
}
return negSign?-(int)reverseX : (int)reverseX;
}
}