7. Reverse Integer| Leetcode solution

 7Reverse Integer

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

 

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

 

Constraints:

  • -231 <= x <= 231 - 1

solution :

class Solution {
public:
    int reverse(int x) {
        long long  result = 0;
        if(x == INT_MIN)
            return 0;
         int temp = x;
           if(x < 0)
            temp = -x;
        while(temp!= 0)
        {
            int once = temp %10 ;
            if(x < 0)
            {
                if(-(result*10+once) < INT_MIN )
                    return 0;
            }
            else
            {
               if(result*10+once > INT_MAX )
                    return 0;
            }
            result = result*10 + once;
            temp = temp/10;
            

        }
        if(x < 0)
            return -result;
        return result;
    }
};

Comments