LeetCode 7. Reverse Integer
Given a signed 32-bit integer x
, return x
with its digits reversed. If reversing x
causes the value to go outside the signed 32-bit integer range [-231, 231 - 1]
, then return 0
.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Example 1:
Input: x = 123
Output: 321
Example 2:
Input: x = -123
Output: -321
Example 3:
Input: x = 120
Output: 21
Example 4:
Input: x = 0
Output: 0
Constraints:
-2^31 <= x <= 2^31 - 1
Solution:
class Solution {
public:
int reverse(int x) {
// INT_MAX: 2147483647
// INT_MIN: -2147483648
int result = 0;
while (x != 0) {
int mod = x % 10;
if (result > 214748364 || (result == 214748364 && mod > 7)) {
return 0;
}
if (result < -214748364 || (result == -214748364 && mod == -9)) {
return 0;
}
result = 10 * result + mod;
x /= 10;
}
return result;
}
};
Last updated
Was this helpful?