public static int reverse(int x) {
int sign;
boolean signBoolean;
if (x >= 0) {
sign = x;
signBoolean = true;
} else {
sign = -1 * x;
signBoolean = false;
}
int up;
int result = 0;
try {
while (sign > 0) {
up = sign % 10;
sign = sign / 10;
int m = 214748364;
if (result > m) {
return 0;
}
else if (result == m){
if (signBoolean && up > 7){
return 0;
}else if (!signBoolean && up > 8){
return 0;
}
}
result = result * 10 + up;
}
} catch (Exception e) {
e.printStackTrace();
}
return signBoolean ? result : -1 * result;
}