LeetCode-7. 整数反转

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
        }
    }
};

猜你喜欢

转载自blog.csdn.net/l718531794/article/details/84551879