LeetCode Reverse Integer (处理溢出)

来源:互联网 发布:实惠猪软件下载 编辑:程序博客网 时间:2024/06/07 06:44

这道题看上去比较简单,但是需要注意的细节和情况的处理还是很多的。

(1) 注意负数

(2)注意10,100这类数字的反转

(3) 最容易忽视的一点,整型的溢出。(2333333339反转超int)

注意我们计算的过程中不需要另外存数字,直接计算就好。处理溢出我们先用long long储存,超int后直接返回0

其实我们发现,(1)和(2)都不需要特殊处理,在运算的过程中会自行处理。

class Solution {public:    int reverse(int x) {    int maxx=0x7fffffff,minn=0x80000000;//int最大值和最小值     long long  ans=0;    while(x)    {    ans=ans*10+x%10;     if(ans>maxx||ans<minn)//解决溢出(long  long)     {    ans=0;    break;    }    x/=10;    }    return ans;    }};


1 0
原创粉丝点击