Sandeep Chahal
Sandeep Chahal

Reputation: 27

Reverse digits of integer

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

Answers (1)

Eran
Eran

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

Related Questions