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: 321Example 2:
Input: x = -123
Output: -321Example 3:
Input: x = 120
Output: 21Example 4:
Input: x = 0
Output: 0Constraints:
-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?