Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Número Palíndromo

Verifica si un número se lee igual al derecho y al revés.

Lo que aprenderás

  • Invertir un número dígito a dígito
  • Comparar el valor invertido con el original
  • Manejar negativos y ceros finales

Problema

Ver original (inglés)

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

Ejemplo 1
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.

Ejemplo 2
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.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.