Problème
Décidez si les chiffres décimaux de n se lisent de la même façon de gauche à droite et de droite à gauche. Les nombres négatifs ne sont jamais des palindromes à cause du signe moins.
Implémentez is_palindrome_number(n).
Entrée
n : Le nombre à vérifier.
Sortie
Retournez true si le nombre est un palindrome, sinon false.
Contraintes
-10¹⁸ ≤ n ≤ 10¹⁸
Exemples
Entrée :
n = 12321
Sortie attendue :
expected = True
Entrée :
long long n = 12321;
Sortie attendue :
bool expected = true;
Entrée :
long n = 12321;
Sortie attendue :
bool expected = true;
Explication
12321 inversé donne 12321.
Entrée :
n = -121
Sortie attendue :
expected = False
Entrée :
long long n = -121;
Sortie attendue :
bool expected = false;
Entrée :
long n = -121;
Sortie attendue :
bool expected = false;
Explication
Le signe moins fait que « -121 » est différent de « 121- ».
Comment l'aborder
Essayez d'abord seul, puis ouvrez les indices un par un.
Indice 1
Un nombre négatif ne peut pas être un palindrome à cause du signe moins.
Indice 2
Compare les chiffres du nombre aux deux extrémités plutôt que de convertir inutilement.
Indice 3
Les nombres à un seul chiffre sont toujours des palindromes.
Complexité attendue
temps O(log n), espace supplémentaire O(1)
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.