LEETCODE 7 整数反转

Posted Erio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LEETCODE 7 整数反转相关的知识,希望对你有一定的参考价值。

 

class Solution {
public:
    int reverse(int x) {
        long long ret=0;
        long long cmp1=((long long)1<<31)-1;
        long long cmp2=-cmp1-1;
        while(x!=0)
        {
            ret=ret*10+x%10;
            if((ret>cmp1)||(ret<cmp2))
                return 0;
            x/=10;
        }
        return ret;
    }
};

 

注意不能直接写1<<32,因为默认1是int的,然后-优先级高于<<,用括号吧

用long long cmp1=((long long)1<<31)-1;

这题感觉描述的有问题,我还以为是输入范围也在-2^32 - 2^32-1,结果错了一次....

#include<limits.h>

#define INT_MAX 2147483647
#define INT_MIN (-INT_MAX - 1)

 

 

32位情况,C中int类型是32位的,范围是-2147483648到2147483647 。 

 

以上是关于LEETCODE 7 整数反转的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 7. 整数反转

p66 反转整数 (leetcode 7)

7. 反转整数 [leetcode 7: Reverse Integer]

7. 反转整数 [leetcode 7: Reverse Integer]

LeetCode 7. 整数反转

前端与算法 leetcode 7. 整数反转