版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l718531794/article/details/84551879
题目地址:https://leetcode-cn.com/problems/reverse-integer/
题意:字面意思
思路:除了判断一下溢出,其他没坑。
AC代码:
class Solution {
public:
int reverse(int x) {
char min_x[15] = "2147483648";
char max_x[15] = "2147483647";
char ans_x[15];
int flag = x>0?1:-1;
memset(ans_x,0,sizeof(ans_x));
ans_x[0] = '0';
int now = 0;
int ans = 0;
while(x){
int temp = abs(x%10);
ans_x[now++] = temp+'0';
x = x/10;
ans = ans*10+temp;
}
if(now<10){
return ans*flag;
}
if(now==10){
if(flag==1){
for(int i=0;i<10;i++){
if(ans_x[i]>max_x[i]){
return 0;
}else if(ans_x[i]<max_x[i]){
break;
}
}
}else{
for(int i=0;i<10;i++){
if(ans_x[i]>min_x[i]){
return 0;
}else if(ans_x[i]<min_x[i]){
break;
}
}
}
return ans*flag;
}
}
};