Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Example2: x = -123, return -321
1. Special handling of overflow.
public class Solution {
public int reverse(int x) {
if (0 == x)
return 0;
boolean n = false;
if (x < 0){
x = x * -1;
n = true;
}
int of = Integer.MAX_VALUE / 10;
int res = 0;
while(x > 0){
if(res <= of){
res *= 10;
if(Integer.MAX_VALUE - res > x % 10){
res += x % 10;
}
x /= 10;
}
else{
return 0;
}
}
return n?res*-1:res;
}
}
No comments:
Post a Comment