题目:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
链接:Reverse Integer
解法:循环,注意检查溢出
class Solution {
public:
int reverse(int x) {
bool flag = false;
int ans = 0;
if (x < 0) {
flag = true;
x = -x;
}
while (x > 0) {
if (abs(ans) > INT_MAX / 10) return 0;
ans = (x % 10) + ans * 10;
x = x / 10;
}
if (flag) return -ans;
else return ans;
}
};
Runtime: 25 ms