白水包 2021-05-03 15:24 采纳率: 0%
浏览 58
已结题

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

[题目连接](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;
    }
};
  • 写回答

6条回答 默认 最新

  • 关注

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

    评论

报告相同问题?