码迷,mamicode.com
首页 > 其他好文 > 详细

LEETCODE 7 整数反转

时间:2019-10-26 23:18:50      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:类型   ||   leetcode   return   color   括号   ever   max   class   

 

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   return   color   括号   ever   max   class   

原文地址:https://www.cnblogs.com/lqerio/p/11745846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!