Come verificare se una stringa è un palindromo

Si dice che una corda sia un palindromo se la corda originale e il suo rovescio sono la stessa cosa. In questo articolo imparerai l’algoritmo per determinare se la stringa data è un palindromo o meno. Imparerai anche come implementare questo algoritmo nei linguaggi di programmazione più popolari come C ++, Python, C e JavaScript.

Esempi di Palindrome String

Di seguito sono riportati alcuni esempi di corde palindromo e non palindromo:

Algoritmo per determinare se una determinata stringa è un palindromo o meno

Gli algoritmi sono semplicemente una serie di istruzioni che vengono seguite, passo dopo passo, per fare qualcosa di utile o risolvere un problema. Puoi risolvere il problema del palindromo delle stringhe usando l’algoritmo seguente:

  1. Dichiarare una funzione che accetta la stringa data come parametro.
  2. Crea una variabile booleana e impostala su true. Lascia che la variabile sia flag .
  3. Trova la lunghezza della stringa data. Sia la lunghezza n .
  4. Converti la stringa data in minuscolo per rendere il confronto tra i caratteri senza distinzione tra maiuscole e minuscole.
  5. Inizializza la variabile di indice basso come bassa e impostala su 0.
  6. Inizializza la variabile di indice alto come alto e impostala su n-1.
  7. Fai quanto segue mentre basso è minore di alto:
    • Confronta i caratteri con indice basso e indice alto.
    • Se i caratteri non corrispondono, imposta il flag su false e interrompi il ciclo.
    • Incrementa il valore di low di 1 e decrementa il valore di high di 1.
  8. Se il flag è vero alla fine della funzione, significa che la stringa data è un palindromo.
  9. Se il flag è falso alla fine della funzione, significa che la stringa data non è un palindromo.

Programma C ++ per verificare se una determinata stringa è un palindromo o meno

Di seguito è riportata l’implementazione C ++ per determinare se la stringa data è un palindromo o meno:

// Including libraries
 #include <bits/stdc++.h>
 using namespace std;
 // Function to check string palindrome
 void checkPalindrome(string str)
 {
 // Flag to check if the given string is a palindrome
 bool flag = true;

 // Finding the length of the string
 int n = str.length();

 // Converting the string to lowercase
 for(int i = 0; i < n; i++)
 {
 str[i] = tolower(str[i]);
 }

 // Initializing low index variable
 int low = 0;

 // Initializing high index variable
 int high = n-1;

 // Running the loop until high is greater than low
 while (high > low)
 {
 // If the characters are not same, set the flag to false
 // and break from the loop
 if(str[high] != str[low])
 {
 flag = false;
 break;
 }

 // Increment the low index variable
 low++;

 // Decrement the high index variable
 high--;
 }

 // Check if flag is true or false
 if (flag)
 {
 cout << "Yes, the given string is a palindrome" << endl;
 }
 else
 {
 cout << "No, the given string is not a palindrome" << endl;
 }

 return;

 }
 int main()
 {
 // Test case: 1
 string str1 = "MUO";
 checkPalindrome(str1);

 // Test case: 2
 string str2 = "madam";
 checkPalindrome(str2);

 // Test case: 3
 string str3 = "MAKEUSEOF";
 checkPalindrome(str3);

 // Test case: 4
 string str4 = "racecar";
 checkPalindrome(str4);

 // Test case: 5
 string str5 = "mom";
 checkPalindrome(str5);

 return 0;
 }

Produzione:

No, the given string is not a palindrome
 Yes, the given string is a palindrome
 No, the given string is not a palindrome
 Yes, the given string is a palindrome
 Yes, the given string is a palindrome

Programma Python per verificare se una determinata stringa è un palindromo o meno

Di seguito è riportata l’implementazione di Python per determinare se la stringa data è un palindromo o meno:

# Function to check string palindrome
 def checkPalindrome(str):
 # Flag to check if the given string is a palindrome
 flag = True
 # Finding the length of the string
 n = len(str)
 # Converting the string to lowercase
 str = str.lower()
 # Initializing low index variable
 low = 0
 # Initializing high index variable
 high = n-1
 # Running the loop until high is greater than low
 while high > low:
 # If the characters are not same, set the flag to false
 # and break from the loop
 if str[high] != str[low]:
 flag = False
 break
 # Increment the low index variable
 low = low + 1
 # Decrement the high index variable
 high = high - 1
 # Check if flag is true or false
 if flag:
 print("Yes, the given string is a palindrome")
 else:
 print("No, the given string is not a palindrome")
 # Test case: 1
 str1 = "MUO"
 checkPalindrome(str1)
 # Test case: 2
 str2 = "madam"
 checkPalindrome(str2)
 # Test case: 3
 str3 = "MAKEUSEOF"
 checkPalindrome(str3)
 # Test case: 4
 str4 = "racecar"
 checkPalindrome(str4)
 # Test case: 5
 str5 = "mom"
 checkPalindrome(str5)

Produzione:

No, the given string is not a palindrome
 Yes, the given string is a palindrome
 No, the given string is not a palindrome
 Yes, the given string is a palindrome
 Yes, the given string is a palindrome

Programma C per verificare se una determinata stringa è un palindromo o meno

Di seguito è riportata l’implementazione C per determinare se la stringa data è un palindromo o meno:

// Including libraries
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
 #include <stdbool.h>
 // Function to check string palindrome
 void checkPalindrome(char str[])
 {
 // Flag to check if the given string is a palindrome
 bool flag = true;
 // Finding the length of the string
 int n = strlen(str);
 // Converting the string to lowercase
 for(int i = 0; i < n; i++)
 {
 str[i] = tolower(str[i]);
 }
 // Initializing low index variable
 int low = 0;
 // Initializing high index variable
 int high = n-1;
 // Running the loop until high is greater than low
 while (high > low)
 {
 // If the characters are not same, set the flag to false
 // and break from the loop
 if(str[high] != str[low])
 {
 flag = false;
 break;
 }
 // Increment the low index variable
 low++;
 // Decrement the high index variable
 high--;
 }
 // Check if flag is true or false
 if (flag)
 {
 printf("Yes, the given string is a palindrome ⁠n");
 }
 else
 {
 printf("No, the given string is not a palindrome ⁠n");
 }
 return;
 }
 int main()
 {
 // Test case: 1
 char str1[] = "MUO";
 checkPalindrome(str1);
 // Test case: 2
 char str2[] = "madam";
 checkPalindrome(str2);
 // Test case: 3
 char str3[] = "MAKEUSEOF";
 checkPalindrome(str3);
 // Test case: 4
 char str4[] = "racecar";
 checkPalindrome(str4);
 // Test case: 5
 char str5[] = "mom";
 checkPalindrome(str5);
 return 0;
 }

Produzione:

No, the given string is not a palindrome
 Yes, the given string is a palindrome
 No, the given string is not a palindrome
 Yes, the given string is a palindrome
 Yes, the given string is a palindrome

Programma JavaScript per verificare se una determinata stringa è un palindromo o meno

Di seguito è riportata l’implementazione JavaScript per determinare se la stringa data è un palindromo o meno:

// Function to check string palindrome
 function checkPalindrome(str) {
 // Flag to check if the given string is a palindrome
 var flag = true;
 // Finding the length of the string
 var n = str.length;
 // Converting the string to lowercase
 str = str.toLowerCase();
 // Initializing low index variable
 var low = 0;
 // Initializing high index variable
 var high = n-1;
 // Running the loop until high is greater than low
 while (high > low) {
 // If the characters are not same, set the flag to false
 // and break from the loop
 if(str[high] != str[low]) {
 flag = false;
 break;
 }
 // Increment the low index variable
 low++;
 // Decrement the high index variable
 high--;
 }
 // Check if flag is true or false
 if (flag) {
 console.log("Yes, the given string is a palindrome");
 } else {
 console.log("No, the given string is not a palindrome");
 }
 }
 // Test case: 1
 var str1 = "MUO";
 checkPalindrome(str1);
 // Test case: 2
 var str2 = "madam";
 checkPalindrome(str2);
 // Test case: 3
 var str3 = "MAKEUSEOF";
 checkPalindrome(str3);
 // Test case: 4
 var str4 = "racecar";
 checkPalindrome(str4);
 // Test case: 5
 var str5 = "mom";
 checkPalindrome(str5);

Produzione:

No, the given string is not a palindrome
 Yes, the given string is a palindrome
 No, the given string is not a palindrome
 Yes, the given string is a palindrome
 Yes, the given string is a palindrome

Impara a gestire le stringhe nella programmazione

Lavorare con le stringhe è parte integrante della programmazione. Devi sapere come utilizzare e manipolare le stringhe in uno qualsiasi dei linguaggi di programmazione come Python, JavaScript, C ++, ecc.

Se stai cercando una lingua con cui iniziare, Python è una scelta eccellente.