[Leetcode Brush Questions] Algorithme : Nombre de palindrome

1. Présentation du sujet

insérez la description de l'image ici

2. Combat de code

class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x < 0:
            return False
        x_str = str(x)
        left = 0
        right = len(x_str) - 1
        while left < right:
            if x_str[left] != x_str[right]:
                return False
            left += 1
            right -= 1
        return True 
  1. class Solution :: définit une classe nommée Solution.
  2. def isPalindrome(self, x: int) -> bool :: définit une méthode appelée isPalindrome, qui accepte un entier x comme paramètre et renvoie une valeur booléenne indiquant s'il s'agit d'un palindrome.
  3. si x < 0 :: Si x est un nombre négatif, renvoie Faux directement, car un nombre négatif ne peut pas être un palindrome.
  4. x_str = str(x) : convertit l'entier x en une chaîne pour une comparaison ultérieure.
  5. left = 0 et right = len(x_str) - 1 : initialise les pointeurs gauche et droit, left pointe vers le début de la chaîne, right pointe vers la fin de la chaîne.
  6. while left < right :: entrer dans la boucle, la condition de la boucle est que le pointeur gauche est plus petit que le pointeur droit, c'est-à-dire que la chaîne entière n'a pas été comparée.
  7. if x_str[left] != x_str[right] :: Si le caractère pointé par le pointeur gauche n'est pas égal au caractère pointé par le pointeur droit, cela signifie que ce n'est pas un palindrome et renvoie Faux directement.
  8. gauche += 1 et droite -= 1 : Déplacez le pointeur gauche d'un bit vers la droite et le pointeur droit d'un bit vers la gauche respectivement, et continuez à comparer le caractère suivant.
  9. Une fois la boucle terminée, cela signifie que la comparaison de la chaîne entière est terminée et qu'aucun caractère inégal n'est trouvé, et True est renvoyé, indiquant qu'il s'agit d'un palindrome.

Ce code convertit l'entier en chaîne, puis utilise la méthode du double pointeur pour comparer les deux extrémités de la chaîne au milieu afin de déterminer s'il s'agit d'un palindrome. Si des caractères inégaux sont trouvés lors de la comparaison, False est retourné directement, sinon True est finalement retourné, indiquant qu'il s'agit d'un nombre palindrome.

Les résultats sont affichés comme suit :

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/wzk4869/article/details/130733339
conseillé
Classement