给定一个32位有符号整数,将整数中的数字进行翻转
解题思路就是不断的求模,然后取余,然后注意溢出问题;
代码:
#include<stdlib.h>
#include<stdio.h>
class Solution
{
int reverse(int x)
{
int res;
while(x!=0)
{
res=res*10+x%10;
x/=10;
if(abs(res))>INT_MAX/10
{
return 0;
}
}
}
return res;
};
完整代码:
#include<stdlib.h>
#include<stdio.h>
class Solution {
public:
int reverse(int x)
{
int res = 0;
while (x != 0)
{
if (abs(res) > INT_MAX / 10)
{
return 0;
}
res = res * 10 + x % 10;
x /= 10;
}
return res;
}
};
int main()
{
int inte=2567;
int r_inte;
Solution a=solution();
r_inte=a.reverse(inte);
pirntf("%d\n",r_inte);
system("pause");
return 0;
}