Leetcode 7. Reverse Integer 题解

Last Updated At: 2016-04-05

题目链接

我的解

注意判断整型溢出。也可以把whilefor合并到一起。

12ms

class Solution {
public:
    int reverse(int x) {
        std::vector<int> digits;
        while (x != 0)
        {
            digits.push_back(x%10);
            x = x/10;
        }
        int res = 0;
        for (size_t i = 0; i < digits.size(); ++i )
        {
            if(abs(res) > INT_MAX / 10)
                return 0;
            else
                res = res * 10 + digits[i];
        }
        return res;
    }
};

启发

关于整型溢出,推荐 @陈皓 的博客文章: C语言的整型溢出问题