代码不够简洁漂亮,可以帮忙调整一下吗

[题目连接](https://leetcode-cn.com/problems/reverse-integer/)

class Solution {
public:
    int reverse(int x) {
        int MAX = 2147483647;
        int RET_MAX = MAX/10;
        if(x == 0 || x == -2147483648) return 0;
        int sign = (x > 0) ? 1 : -1;
        int ret = 0;
        int num = abs(x);
        while(num % 10 == 0){
            num /= 10;
        }
        while(num != 0){     
            int add = num % 10;
            if((ret > RET_MAX) ||
               (ret == RET_MAX && add > 7 && sign == 1) ||
               (ret == RET_MAX && add > 8 && sign == -1)            
               ){
                   return 0;
            }
            ret = ret * 10 + add;
            num /= 10;
        }
        return ret*sign;
    }
};

 

测试了一下,代码没什么问题,调整什么呢?

C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html

class Solution
{
public:
    int reverse(int x)
    {
        long result(0);
        if (x == INT_MIN)
        {
            return 0;
        }
        if (x < 0)
        {
            return -reverse(-x);
        }

        int digit(0);
        while (x > 0)
        {
            digit = x % 10;
            x /= 10;
            result = result * 10 + digit;
        }

        if (result > INT_MAX)
        {
            return 0;
        }
        return int(result);
    }
};

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

你可以看看题解区的大佬是怎么写的,就提交记录那个耗时分布图那里,我用的是java,没有在前面定义很多变量,直接用现成的值来 “/”

class Solution {
     public int reverse(int x) {
         int res = 0;
         while(x != 0) {
         	 int temp = x % 10;
             if(res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && temp > 7) ||
              res < Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && temp < -8)){
             	return 0;
             }
             res = res * 10 + temp;
             x /= 10;
         }
         return res;
    }
}

 

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y