以下是问题 我想反转一个整数的数字。
我的代码适用于最多9位数字的所有情况。如果是10位输入,则不会反向写入。我该怎么办?
我的代码是:
int reverse1 (int x){
int n = x;
int temp = 0;
if (n > 0){
while (n > 0){
int a = n % 10;
temp = (temp * 10) + a;
n = n / 10;
}
} else {
while (n < 0){
int a = n % 10;
temp = (temp * 10) + a;
n = n / 10;
}
}
return temp;
}
答案 0 :(得分:3)
10位数字可能高于Integer.MAX_VALUE
(2147483647
),或其反转数字可能高于Integer.MAX_VALUE
。您可以使用long
代替int
来支持更大的数字。