Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
解题思路
本题比较简单,但是需要注意结果可能溢出。假设输入是一个 32-bit 的整数,则1000000003的reverse结果会溢出。
class Solution {
public:
int reverse(int x) {
// INT_MIN 和 INT_MAX 定义在 <limits> 头文件中
if (x == INT_MIN) return 0; //// reverse 溢出
bool isNeg = false;
if (x < 0) {
isNeg = true;
x = -x;
}
long long result = 0;
while (x) {
result = result * 10 + x % 10;
x = x / 10;
}
if (result > INT_MAX) return 0; // reverse 溢出
return isNeg ? -result : result;
}
};
本文介绍了一个简单的整数反转算法,并提供了详细的实现思路。通过C++代码示例展示了如何正确处理正负整数的反转,同时考虑了32位整数溢出的问题。
1万+

被折叠的 条评论
为什么被折叠?



