Problema
Decide si los dígitos decimales de n se leen igual de izquierda a derecha que de derecha a izquierda. Los números negativos nunca son palíndromos debido al signo menos.
Implementa is_palindrome_number(n).
Entrada
n: El número a verificar.
Salida
Devuelve true si el número es palíndromo, de lo contrario false.
Restricciones
-10¹⁸ ≤ n ≤ 10¹⁸
Ejemplos
Entrada:
n = 12321
Salida esperada:
expected = True
Entrada:
long long n = 12321;
Salida esperada:
bool expected = true;
Entrada:
long n = 12321;
Salida esperada:
bool expected = true;
Explicación
12321 al revés es 12321.
Entrada:
n = -121
Salida esperada:
expected = False
Entrada:
long long n = -121;
Salida esperada:
bool expected = false;
Entrada:
long n = -121;
Salida esperada:
bool expected = false;
Explicación
El signo menos hace que "-121" sea diferente de "121-".
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
Un número negativo no puede ser palíndromo por el signo menos.
Pista 2
Compara los dígitos del número desde ambos extremos en lugar de convertirlo innecesariamente.
Pista 3
Los números de un solo dígito siempre son palíndromos.
Complejidad esperada
tiempo O(log n), espacio extra O(1)
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.