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
Post a Comment
if you have any doubts let me know.