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 整数反转的主要内容,如果未能解决你的问题,请参考以下文章
7. 反转整数 [leetcode 7: Reverse Integer]