Cómo comprobar si una cuerda es un palíndromo

Se dice que una cuerda es un palíndromo si la cuerda original y su reverso son iguales. En este artículo, aprenderá sobre el algoritmo para determinar si la cadena dada es un palíndromo o no. También aprenderá a implementar este algoritmo en los lenguajes de programación más populares como C ++, Python, C y JavaScript.

Ejemplos de cuerda palíndromo

A continuación se muestran algunos ejemplos de cadenas palíndromas y no palíndromas:

Algoritmo para determinar si una cadena dada es un palíndromo o no

Los algoritmos son simplemente una serie de instrucciones que se siguen, paso a paso, para hacer algo útil o resolver un problema. Puede resolver el problema del palíndromo de cuerdas utilizando el siguiente algoritmo:

  1. Declara una función que acepta la cadena dada como parámetro.
  2. Cree una variable booleana y establézcala en verdadero. Sea la variable bandera .
  3. Calcula la longitud de la cadena dada. Sea n la longitud.
  4. Convierta la cadena dada a minúsculas para que la comparación entre los caracteres no distinga entre mayúsculas y minúsculas.
  5. Inicialice la variable de índice bajo como bajo y configúrelo en 0.
  6. Inicialice la variable de índice alto como alto y establézcalo en n-1.
  7. Haga lo siguiente mientras bajo es menos que alto:
    • Compare los caracteres de índice bajo y de índice alto.
    • Si los caracteres no coinciden, establezca la bandera en falso y rompa el ciclo.
    • Incremente el valor de bajo en 1 y disminuya el valor de alto en 1.
  8. Si la bandera es verdadera al final de la función, significa que la cadena dada es un palíndromo.
  9. Si la bandera es falsa al final de la función, significa que la cadena dada no es un palíndromo.

Programa C ++ para verificar si una cadena dada es un palíndromo o no

A continuación se muestra la implementación de C ++ para determinar si la cadena dada es un palíndromo o no:

 // 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;
}

Producción:

 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

Programa Python para verificar si una cadena dada es un palíndromo o no

A continuación se muestra la implementación de Python para determinar si la cadena dada es un palíndromo o no:

 # 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)

Producción:

 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

Programa C para verificar si una cadena dada es un palíndromo o no

A continuación se muestra la implementación de C para determinar si la cadena dada es un palíndromo o no:

 // 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;
}

Producción:

 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

Programa JavaScript para verificar si una cadena dada es un palíndromo o no

A continuación se muestra la implementación de JavaScript para determinar si la cadena dada es un palíndromo o no:

 // 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);

Producción:

 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

Aprenda a lidiar con cadenas en la programación

Trabajar con cadenas es una parte integral de la programación. Debe saber cómo usar y manipular cadenas en cualquiera de los lenguajes de programación como Python, JavaScript, C ++, etc.

Si está buscando un lenguaje para comenzar, Python es una excelente opción.