首页 > 其他 > 详细

7_Reverse Integer

时间:2019-02-18 20:46:39      阅读:337      评论:0      收藏:0      [点我收藏+]

没有想出来, 仿照(或者照搬?)http://www.cnblogs.com/grandyang/p/4125588.html来写

注意点:
反转溢出问题, 解决方法: 使用比该数字范围大的类型定义返回值

class Solution {
public:
    int reverse(int x) {
        long long int ret = 0;
        
        while(0 != x) {
            ret = ret*10 + x%10;
            x /= 10;
        }
        
        //return (ret > INT_MIN || ret < INT_MAX)? ret : 0;
         return (ret < INT_MIN || ret > INT_MAX) ? 0 : ret;
    }
};

半个自己写的, 考虑符号, 虽然多余了

class Solution {
public:
    int reverse(int x) {
        long long ret = 0;
        // int positive = 1;
        long long positive = 1;

        if (x < 0) {
            positive = -1;
            x *= positive;
        }

        while (x != 0) {
            ret = ret * 10 + x % 10;
            x /= 10;
        }
        
        ret *= positive;
        
        return (ret < INT_MIN || ret > INT_MAX) ? 0 : ret;
    }
};

7_Reverse Integer

原文:https://www.cnblogs.com/hesper/p/10397725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!