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 ; //// reverse 溢出
bool isNeg = false;
if (x < ) {
isNeg = true;
x = -x;
}
long long result = ;
while (x) {
result = result * + x % ;
x = x / ;
}
if (result > INT_MAX) return ; // reverse 溢出
return isNeg ? -result : result;
}
};