Reputation: 27
Following is the question I want to reverse digits of an integer.
My code works for all cases up to 9 digit number. In case of 10 digit inputs it does not write the reverse. What do i do?
My code is :
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;
}
Upvotes: 1
Views: 290
Reputation: 394126
A 10 digit number is likely to be higher than Integer.MAX_VALUE
(2147483647
), or its reversed number may be higher than Integer.MAX_VALUE
. You can use long
instead of int
to support larger numbers.
Upvotes: 3