0007. Reverse Integer
Easy | Math | 16 ms (88.67%), 13.3 MB (90.96%)
Source: LeetCode - Reverse Integer GitHub: Solution / Performance
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:
# (base case)
if x == 0: return x
# ==================================================
# Math =
# ==================================================
# time : O(log(n))
# space : O(1)
ans = 0
sign = 1 if x > 0 else -1
x = abs(x)
while x:
pop = x % 10
x //= 10
ans = ans*10 + pop
if ans >= 2**31-1: return 0
return sign * ans
Last updated
Was this helpful?