LeetCode Solutions
7. Reverse Integer
Time: $O(\log x)$ Space: $O(1)$
class Solution {
public:
int reverse(int x) {
long ans = 0;
while (x) {
ans = ans * 10 + x % 10;
x /= 10;
}
return (ans < INT_MIN || ans > INT_MAX) ? 0 : ans;
}
};
class Solution {
public int reverse(int x) {
long ans = 0;
while (x != 0) {
ans = ans * 10 + x % 10;
x /= 10;
}
return (ans < Integer.MIN_VALUE || ans > Integer.MAX_VALUE) ? 0 : (int) ans;
}
}
class Solution:
def reverse(self, x: int) -> int:
ans = 0
sign = -1 if x < 0 else 1
x *= sign
while x:
ans = ans * 10 + x % 10
x //= 10
return 0 if ans < -2**31 or ans > 2**31 - 1 else sign * ans