leetcode 7. 整数反转

limits.h 有INT_MAX 和INT_MIN

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

class Solution {
public:
    int reverse(int x) {
        if(x==0){
            return 0;
        }
        int ret = 0;
        while(x != 0){
            int pop = x %10;
            x/= 10;
            if(ret > INT_MAX/10 || (ret==INT_MAX/10 && pop>7) )return 0;
            else if(ret < INT_MIN/10 || (ret==INT_MIN/10 && pop<-8) )return 0;
            ret = ret*10 + pop;

        }

        return ret;
    }
};

int main()
{

    Solution Solution1;
    cout<<Solution1.reverse(-12300)<<endl;
    return 0;
}

你可能感兴趣的:(leetcode)