LeetCode: Reverse Integer
Question
Given a 32-bit signed integer, reverse digits of an integer.
Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
Solution
def reverse(x)
if x >= 0
x = x.to_s.reverse.to_i
if x < -2**31 || x > 2**31 - 1
0
else
x
end
else
x = x.to_s.reverse.chop.insert(0, '-').to_i
if x < -2**31 || x > 2**31 - 1
0
else
x
end
end
end
Comments