Maison > Java > javaDidacticiel > Comment pouvons-nous vérifier efficacement si une chaîne est un palindrome ?

Comment pouvons-nous vérifier efficacement si une chaîne est un palindrome ?

Patricia Arquette
Libérer: 2024-12-28 00:01:09
original
888 Les gens l'ont consulté

How Can We Efficiently Check if a String is a Palindrome?

Vérificateur de palindrome raffiné

Dans cette démonstration, nous approfondissons les subtilités de la vérification si une chaîne donnée est un palindrome. Un palindrome présente la propriété remarquable d’être lu de manière identique à la fois vers l’avant et vers l’arrière. Une approche courante consiste à convertir la chaîne en un tableau de caractères et à comparer chaque caractère aux extrémités opposées du tableau.

Cependant, il existe une solution plus efficace et plus succincte :

public static boolean isPalindrome(char[] word) {
    int i1 = 0;
    int i2 = word.length - 1;
    while (i2 > i1) {
        if (word[i1] != word[i2]) {
            return false;
        }
        ++i1;
        --i2;
    }
    return true;
}
Copier après la connexion

Cette amélioration La méthode intègre une boucle while qui parcourt le début et la fin du mot, en comparant chaque caractère en cours de route. Si une paire de caractères ne correspond pas, la chaîne n'est pas un palindrome. En incrémentant i1 et en décrémentant i2 jusqu'à ce qu'ils se rencontrent au milieu du mot, nous pouvons vérifier efficacement les palindromes.

Exemple :

Considérez la chaîne d'entrée "andna" :

  • i1 = 0, i2 = 4
  • Comparez le mot[0] (a) avec le mot[4] (a) : Égal

    • i1 = 1, i2 = 3
  • Comparez le mot[1] (n) avec le mot[3] (n) : Égal

    • i1 = 2, i2 = 2
  • i1 et i2 sont maintenant égaux, donc la boucle se termine et renvoie vrai.

Cet algorithme optimisé fournit une méthode simplifiée pour déterminer si une chaîne donnée est un palindrome.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal