把负数转成整数再reverse,注意int最大值是2147483647,要考虑到溢出的情况(可以用long long 型避免溢出)。
class Solution {
public:
int reverse(int x) {
int i=1;
long long j=0;
bool pos;
if(x>=0) pos=0;
else if(x<0) pos=1;
long long a;
if(x==-2147483648) return 0;
a=abs(x);
//if(a>) return 0;
if(a<10) return a;
else{
j=a%10;
a=a/10;
while(i)
{
j=j*10+a%10;
a=a/10;
if(a==0) i=0;
}
if(j<0) return -1;
if(j>2147483647) return 0;
if(pos) j=j*-1;
return j;
}
}
};