/**
* 假设我们的环境只能存储得下 32 位的有符号整数,
* 则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
* int型的数值范围是 -2147483648~2147483647, 那么如果我们要翻转 1000000009
* 这个在范围内的数得到 9000000001,而翻转后的数就超过了范围
* @param x int整型
* @return int整型
*/
public int reverse (int x) {
long result = 0;
while (x != 0){
result = result * 10 + x % 10;
x = x / 10;
}
if (result > Integer.MAX_VALUE || result < Integer.MIN_VALUE){
return 0;
}
return (int)result;
}