lintcode ----反转整数

来源:互联网 发布:linux查内存 编辑:程序博客网 时间:2024/05/23 17:37

注意:判断溢出!!!

            int类型32位,范围是-2147483648到2147483647.进入while循环的时候sum是先乘以10 然后做溢出判断,所以在判断条件的时候是判断上一次的INT_MAX 和sum 的值,不然sum有可能早已经溢出,在和INT_MAX比较就没有意义了。


       

int reverseInteger(int n) {        // Write your code hereint a=n;if(n<=0)n=-n;vector<int> res;int sum=0;while(n){int tem=n%10;sum*=10;sum+=tem;if(sum>INT_MAX/10)return 0;n/=10;}if(a<0)return -sum;else return sum;}





0 0
原创粉丝点击