Reverse a Number -Leetcode 7 - Medium Difficulty

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:

-2^31 <= x <= 2^31 - 1


Code:

#include<iostream>
#include<climits>
using namespace std;

int main(int argc, char const *argv[])
{
    int number;
    cin>>number;
    int ans=0;
    while(number!=0){
        int digit=number%10;
        if(ans>INT_MAX/10 || ans<INT_MIN/10){
            cout<<0<<endl;
        }
        ans=ans*10+digit;
        number=number/10;
    }
    cout<<ans;
    return 0;
}

Comments