leetcode 7 reverse integer 反转整数

描述:

给定32位整数,反转,如321转成123。

解决:

关键是溢出检测:

int reverse(int x) {
    int ret = 0;
    int temp;
    
    while (x) {
        temp = ret * 10 + x % 10;
        if (temp / 10 != ret)
            return 0;
        ret = temp;
        x /= 10;
    }
    return ret;
}

看了下其他答案,还有一些思路:

先声明个long,看最后是否溢出,这样只有long是64位时可以,或者用int64_t。

还有先转字符串反转再转数字的。

posted on 2018-01-21 21:55  willaty  阅读(143)  评论(0编辑  收藏  举报

导航