[Leetcode7]整数反转

C:最难的是整数溢出 [−2^31,  2^31 − 1]

int reverse(int x){
int req = 0;
int rev = 0;

while(x!=0)
{
req = x%10;
x = x/10;
rev = rev*10 + req;
if(rev > INT_MAX || rev > (INT_MAX*10) && rev == 7) return 0;
if(rev < INT_MIN || rev < (INT_MIN*10) && rev ==-8) return 0;

return rev;
}

同样的代码,C++提交可以通过,C语言提交却不可以通过。

猜你喜欢

转载自www.cnblogs.com/lordwind/p/11494860.html