Par Yuvraj Chandra
E-mail

Votre corde est-elle un palindrome? Que vous utilisiez Python, C ++ ou JavaScript, utilisez l'un de ces algorithmes pour le découvrir.

Une chaîne est considérée comme un palindrome si la chaîne d'origine et son revers sont identiques. Dans cet article, vous découvrirez l'algorithme pour déterminer si la chaîne donnée est un palindrome ou non. Vous apprendrez également à implémenter cet algorithme dans les langages de programmation les plus populaires tels que C ++, Python, C et JavaScript.

Exemples de cordes Palindrome

Voici quelques exemples de cordes palindromes et non palindromes:

Algorithme pour déterminer si une chaîne donnée est un palindrome ou non

Les algorithmes sont simplement une série d'instructions qui sont suivies, étape par étape, pour faire quelque chose d'utile ou résoudre un problème. Vous pouvez résoudre le problème du palindrome des chaînes en utilisant l'algorithme ci-dessous:

instagram viewer
  1. Déclarez une fonction qui accepte la chaîne donnée en tant que paramètre.
  2. Créez une variable booléenne et définissez-la sur true. Soit la variable drapeau.
  3. Trouvez la longueur de la chaîne donnée. Que la longueur soit n.
  4. Convertissez la chaîne donnée en minuscules pour rendre la comparaison entre les caractères insensible à la casse.
  5. Initialisez la variable d'index faible comme faible et réglez-le sur 0.
  6. Initialisez la variable d'index élevé comme haute et réglez-le sur n-1.
  7. Procédez comme suit lorsque faible est inférieur à élevé:
    • Comparez les caractères avec un index faible et un index élevé.
    • Si les caractères ne correspondent pas, définissez l'indicateur sur false et interrompez la boucle.
    • Augmentez la valeur de low de 1 et décrémentez la valeur de high de 1.
  8. Si l'indicateur est vrai à la fin de la fonction, cela signifie que la chaîne donnée est un palindrome.
  9. Si le drapeau est faux à la fin de la fonction, cela signifie que la chaîne donnée n'est pas un palindrome.

Programme C ++ pour vérifier si une chaîne donnée est un Palindrome ou non

Vous trouverez ci-dessous l'implémentation C ++ pour déterminer si la chaîne donnée est un palindrome ou non:

// Y compris les bibliothèques
#inclure
en utilisant l'espace de noms std;
// Fonction pour vérifier le palindrome de la chaîne
void checkPalindrome (chaîne de caractères)
{
// Drapeau pour vérifier si la chaîne donnée est un palindrome
indicateur booléen = vrai;
// Recherche de la longueur de la chaîne
int n = str.length ();
// Conversion de la chaîne en minuscules
pour (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialisation de la variable d'indice bas
int faible = 0;
// Initialisation de la variable d'index élevé
int élevé = n-1;
// Exécution de la boucle jusqu'à ce que high soit supérieur à low
tandis que (haut> bas)
{
// Si les caractères ne sont pas les mêmes, définissez l'indicateur sur false
// et rompre la boucle
if (str [haut]! = str [bas])
{
drapeau = faux;
Pause;
}
// Incrémente la variable d'indice bas
low ++;
// Décrémente la variable d'index élevé
haute--;
}
// Vérifie si l'indicateur est vrai ou faux
if (drapeau)
{
cout << "Oui, la chaîne donnée est un palindrome" << endl;
}
autre
{
cout << "Non, la chaîne donnée n'est pas un palindrome" << endl;
}
revenir;
}
int main()
{
// Cas de test: 1
string str1 = "MUO";
checkPalindrome (str1);
// Cas de test: 2
string str2 = "madame";
checkPalindrome (str2);
// Cas de test: 3
string str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Cas de test: 4
string str4 = "voiture de course";
checkPalindrome (str4);
// Cas de test: 5
string str5 = "maman";
checkPalindrome (str5);
return 0;
}

Production:

Non, la chaîne donnée n'est pas un palindrome 
Oui, la chaîne donnée est un palindrome
Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Oui, la chaîne donnée est un palindrome

Programme Python pour vérifier si une chaîne donnée est un Palindrome ou non

Vous trouverez ci-dessous l'implémentation Python pour déterminer si la chaîne donnée est un palindrome ou non:

# Fonction pour vérifier le palindrome des cordes
def checkPalindrome (str):
# Drapeau pour vérifier si la chaîne donnée est un palindrome
drapeau = Vrai
# Recherche de la longueur de la chaîne
n = len (str)
# Conversion de la chaîne en minuscules
str = str.lower ()
# Initialisation de la variable d'indice bas
faible = 0
# Initialisation de la variable d'index élevé
élevé = n-1
# Exécuter la boucle jusqu'à ce que haut soit supérieur à faible
tandis que haut> bas:
# Si les caractères ne sont pas les mêmes, définissez l'indicateur sur false
# et sortir de la boucle
si str [haut]! = str [bas]:
flag = Faux
Pause
# Incrémente la variable d'indice bas
faible = faible + 1
# Décrémente la variable d'index élevé
haut = haut - 1
# Vérifier si l'indicateur est vrai ou faux
si drapeau:
print ("Oui, la chaîne donnée est un palindrome")
autre:
print ("Non, la chaîne donnée n'est pas un palindrome")
# Cas de test: 1
str1 = "MUO"
checkPalindrome (str1)
# Cas de test: 2
str2 = "madame"
checkPalindrome (str2)
# Cas de test: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Cas de test: 4
str4 = "voiture de course"
checkPalindrome (str4)
# Cas de test: 5
str5 = "maman"
checkPalindrome (str5)

Production:

Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Oui, la chaîne donnée est un palindrome

Programme C pour vérifier si une chaîne donnée est un palindrome ou non

Vous trouverez ci-dessous l'implémentation en C pour déterminer si la chaîne donnée est un palindrome ou non:

// Y compris les bibliothèques
#inclure
#inclure
#inclure
#inclure
// Fonction pour vérifier le palindrome de la chaîne
void checkPalindrome (char str [])
{
// Drapeau pour vérifier si la chaîne donnée est un palindrome
indicateur booléen = vrai;
// Recherche de la longueur de la chaîne
int n = strlen (str);
// Conversion de la chaîne en minuscules
pour (int i = 0; i {
str [i] = tolower (str [i]);
}
// Initialisation de la variable d'indice bas
int faible = 0;
// Initialisation de la variable d'index élevé
int élevé = n-1;
// Exécution de la boucle jusqu'à ce que high soit supérieur à low
tandis que (haut> bas)
{
// Si les caractères ne sont pas les mêmes, définissez l'indicateur sur false
// et rompre la boucle
if (str [haut]! = str [bas])
{
drapeau = faux;
Pause;
}
// Incrémente la variable d'indice bas
low ++;
// Décrémente la variable d'index élevé
haute--;
}
// Vérifie si l'indicateur est vrai ou faux
if (drapeau)
{
printf ("Oui, la chaîne donnée est un palindrome \ ⁠n");
}
autre
{
printf ("Non, la chaîne donnée n'est pas un palindrome \ ⁠n");
}
revenir;
}
int main()
{
// Cas de test: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Cas de test: 2
char str2 [] = "madame";
checkPalindrome (str2);
// Cas de test: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Cas de test: 4
char str4 [] = "voiture de course";
checkPalindrome (str4);
// Cas de test: 5
char str5 [] = "maman";
checkPalindrome (str5);
return 0;
}

Production:

Non, la chaîne donnée n'est pas un palindrome 
Oui, la chaîne donnée est un palindrome
Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Oui, la chaîne donnée est un palindrome

Programme JavaScript pour vérifier si une chaîne donnée est un palindrome ou non

Vous trouverez ci-dessous l'implémentation JavaScript pour déterminer si la chaîne donnée est un palindrome ou non:

// Fonction pour vérifier le palindrome de la chaîne
contrôle de fonctionPalindrome (str) {
// Drapeau pour vérifier si la chaîne donnée est un palindrome
indicateur var = vrai;
// Recherche de la longueur de la chaîne
var n = longueur de chaîne;
// Conversion de la chaîne en minuscules
str = str.toLowerCase ();
// Initialisation de la variable d'indice bas
var faible = 0;
// Initialisation de la variable d'index élevé
var élevé = n-1;
// Exécution de la boucle jusqu'à ce que high soit supérieur à low
while (haut> bas) {
// Si les caractères ne sont pas les mêmes, définissez l'indicateur sur false
// et rompre la boucle
if (str [haut]! = str [faible]) {
drapeau = faux;
Pause;
}
// Incrémente la variable d'indice bas
low ++;
// Décrémente la variable d'index élevé
haute--;
}
// Vérifie si l'indicateur est vrai ou faux
if (drapeau) {
console.log ("Oui, la chaîne donnée est un palindrome");
} autre {
console.log ("Non, la chaîne donnée n'est pas un palindrome");
}
}
// Cas de test: 1
var str1 = "MUO";
checkPalindrome (str1);
// Cas de test: 2
var str2 = "madame";
checkPalindrome (str2);
// Cas de test: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Cas de test: 4
var str4 = "voiture de course";
checkPalindrome (str4);
// Cas de test: 5
var str5 = "maman";
checkPalindrome (str5);

Production:

Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Non, la chaîne donnée n'est pas un palindrome
Oui, la chaîne donnée est un palindrome
Oui, la chaîne donnée est un palindrome

Apprenez à gérer les chaînes dans la programmation

Travailler avec des chaînes fait partie intégrante de la programmation. Vous devez savoir comment utiliser et manipuler des chaînes dans l'un des langages de programmation tels que Python, JavaScript, C ++, etc.

Si vous recherchez un langage pour commencer, Python est un excellent choix.

E-mail
Apprendre Python? Voici comment manipuler des chaînes

Utiliser et manipuler des chaînes en Python peut sembler difficile, mais c'est trompeusement simple.

Lire la suite

Rubriques connexes
  • Programmation
  • Tutoriels de codage
A propos de l'auteur
Yuvraj Chandra (13 articles publiés)

Yuvraj est un étudiant de premier cycle en informatique à l'Université de Delhi, en Inde. Il est passionné par le développement Web Full Stack. Lorsqu'il n'écrit pas, il explore la profondeur des différentes technologies.

Plus de Yuvraj Chandra

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!

Un pas de plus…!

Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.

.