Maison >Java >javaDidacticiel >Comment pouvons-nous vérifier efficacement si une chaîne est un 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; }
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" :
Comparez le mot[0] (a) avec le mot[4] (a) : Égal
Comparez le mot[1] (n) avec le mot[3] (n) : Égal
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!