7. Reverse Integer
Difficulty: Easy
Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321
int reverse(int x) {
int mol,temp;
int m=1,sign=1;
int retx;
if(x<0)
{
x=-x;
sign=0;
}
temp=x;
while(temp>=10) //求出x的位数m
{
temp/=10;
m++;
}
temp=x;
retx=0;
while(temp>0)
{
mol=temp%10; //求出x的每一位
temp/=10;
retx+=mol*pow((float)10,m-1);
if(retx<0) //若翻转后溢出,返回0
return 0;
m--;
}
if(sign==0)
{
retx=-retx;
}
return retx;
}
注意:
1. 10100翻转后是101。
2. int型是32位的,翻转后可能溢出。例如x=1534236469,翻转后溢出,此时应该返回0。