【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
题目链接:https://leetcode.com/problems/reverse-integer/
题意:
给出一个int数据内的数,要求输出该数数位翻转之后的结果
提示:
直接按位取出就好,要注意的是翻转之后的结果可能会超出int型,所以我们用long long型来保存,如果超出int型就返回0
class Solution
{
public:
int reverse(int x)
{
int flag = 0;
if(x<0)
{
x = -x;
flag = 1;
}
long long ans = 0;
int s = 0;
while(x)
{
ans=ans*10+x%10;
s = s*10+x%10;
x/=10;
}
if(flag)
{
ans=-ans;
s = -s;
}
if(s!=ans)//超出了int型,那么s与ans不相等
s = 0;
return s;
}
};