假设我们有一个32位带符号整数。我们必须取数字并反转数字。因此,如果数字是425,则输出将是524。我们还必须记住数字是带符号的,因此可能会有一些负数。因此,如果数字是–425,则它将是–524。
这里我们有一些假设。我们假设我们在32位带符号整数的域中使用。因此范围是[-232到232 – 1]。因此,如果数字不在范围内,则该函数将返回0。
为了解决这个问题,我们将使用Python代码。首先,我们将给定的整数转换为字符串。因此,如果字符串中的第一个字符为“-”,则数字为负数,因此从索引1到索引长度– 1反向。最后将它们转换为整数,然后返回它,对于正数,只需将字符串反向并返回之前将其设为整数。在每种情况下,我们都会检查数字是否在32位整数范围内。如果超出范围,则只需返回0。
让我们看一下实现以获得更好的理解
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ x = str(x) if x[0] == '-': a = int('-' + x[-1:0:-1]) if a >= -2147483648 and a<= 2147483647: return a else: return 0 else: a = int(x[::-1]) if a >= -2147483648 and a<= 2147483647: return a else: return 0 ob1 = Solution()print(ob1.reverse(-425))
print(ob1.reverse(-425))
输出结果
-524