题解 | #反转数字#
反转数字
http://www.nowcoder.com/practice/1a3de8b83d12437aa05694b90e02f47a
class Solution {
public:
/**
*
* @param x int整型
* @return int整型
*/
int reverse(int x) {
int shu[33];
long long result=0;
int i;
int flag=0;
if(x<0){
flag=1;
i=0;
x=-x;
while(x!=0){
shu[i]=x%10;
x/=10;
i+=1;
}
}
else if(x==0){
flag=-1;
}
else{
i=0;
while(x!=0){
shu[i]=x%10;
x/=10;
i+=1;
}
}
int j;
for(j=i-1;j>=0;j--){
result+=shu[j]*pow(10,i-j-1);
//判断结果溢出
if(result>INT_MAX||result<INT_MIN){
return 0;
}
}
if(flag==1){
result=-result;
}
else if(flag==-1){
result=0;
}
return result;// write code here
}
};