public int reverse(int x) {
boolean flag = true;
long result = 0;
if(x < 0){
flag = false;
}
x = Math.abs(x);
while(x > 0){
result = result * 10 + x % 10;
x = x / 10;
}
if(result > Integer.MAX_VALUE){
return 0;
}
return flag == true ? (int)result : -(int)result;
}