Given signed 32-bit integer x, reverse its digits. Return 0 if the result falls outside [-231, 231 - 1].
Assume no signed or unsigned 64-bit storage.
Example 1:
Input: x = 123 Output: 321 Example 2:
Input: x = -123 Output: -321 Example 3:
Input: x = 120 Output: 21
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
str_x = str(x)
rev_ans = 0
hex_lower = -0x80000000
hex_upper = 0x7fffffff
if x < 0:
rev_str_x = "-" + str_x[:0:-1]
rev_int = int(rev_str_x)
else:
rev_str_x = str_x[::-1]
rev_int = int(rev_str_x)
if x >= 0:
if rev_int == rev_int & hex_upper:
rev_ans = rev_int
else:
if hex_lower == rev_int & hex_lower:
rev_ans = rev_int
return rev_ans
sol = Solution()
sol.reverse(-123)