Leetcode 7. Reverse Integer 题解
最后编辑于: 2016-04-05我的解
注意判断整型溢出。也可以把while
和for
合并到一起。
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语言的整型溢出问题。