Dado un entero de 32 bits con signo, es necesario invertir los dígitos de cada uno de los números enteros.
Ejemplo 1:
Entrada: 123
Salida: 321
Ejemplo 2:
Entrada: -123
Salida: -321
Ejemplo 3:
Entrada: 120
Salida: 21
Nota:
Suponiendo que nuestro entorno solo puede almacenar enteros de 32 bits con signo, el rango de valores es [−231, 231 - 1]. De acuerdo con esta suposición, si el entero se desborda después de la inversión, devuelve 0.
Fuente: LeetCode
class Solution:
def reverse(self, x: int) -> int:
# 先取 绝对值 再转化为字符串
s = str(abs(x))
# 取反
s = s[::-1]
if x < 0:
s = '-' + s
# 转化为整型
res = int(s)
if -2 ** 31 <= res <= 2 **31 - 1:
return res
else:
return 0