Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
要求反转后的数溢出时返回0,比如1000000003
public int reverse(int x) {
int sum = 0;
while (x != 0) {
if (sum * 10.0 > Integer.MAX_VALUE || sum * 10.0 < Integer.MIN_VALUE) {
return 0;
}
sum *= 10;
sum += sum + x % 10.0 > Integer.MAX_VALUE ? 0 : x % 10;
x /= 10;
}
return sum;
}
上溢和下溢都要判断,注意判断条件 sum * 10.0 等不要写成 sum * 10