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).
class Solution:
def reverse(self, x: int) -> int:
if x < 0:
x *= -1
sign = -1
else:
sign = 1
rev = 0
while x != 0:
x,rem = divmod(x,10)
rev = rev * 10 + rem
rev *= sign
return rev if -2**31 <= rev < 2**31-1 else 0
O(log10 n)