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;
}
};