Por Yuvraj Chandra
Correo electrónico

¿Tu cuerda es un palíndromo? Ya sea que use Python, C ++ o JavaScript, use uno de estos algoritmos para averiguarlo.

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índromo y no palíndromo:

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. Deja que la variable sea bandera.
  3. instagram viewer
  4. Calcula la longitud de la cadena dada. Deja que la longitud sea norte.
  5. Convierta la cadena dada a minúsculas para que la comparación entre los caracteres no distinga entre mayúsculas y minúsculas.
  6. Inicialice la variable de índice bajo como bajo y ajústelo a 0.
  7. Inicialice la variable de índice alto como elevado y configúrelo en n-1.
  8. Haga lo siguiente mientras bajo es menos que alto:
    • Compare 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.
  9. Si la bandera es verdadera al final de la función, significa que la cadena dada es un palíndromo.
  10. 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:

// Incluyendo bibliotecas
#incluir
usando el espacio de nombres std;
// Función para comprobar palíndromo de cadena
vacío checkPalindrome (cadena str)
{
// Marca para comprobar si la cadena dada es un palíndromo
bool flag = verdadero;
// Encontrar la longitud de la cadena
int n = str.length ();
// Conversión de la cadena a minúsculas
para (int i = 0; i {
str [i] = tolower (str [i]);
}
// Inicializando la variable de índice bajo
int bajo = 0;
// Inicializando la variable de índice alto
int alto = n-1;
// Ejecutar el ciclo hasta que el nivel alto sea mayor que el nivel bajo
mientras (alto> bajo)
{
// Si los caracteres no son los mismos, establezca la bandera en falso
// y romper el bucle
if (str [alto]! = str [bajo])
{
bandera = falso;
rotura;
}
// Incrementar la variable de índice bajo
bajo ++;
// Disminuir la variable de índice alto
elevado--;
}
// Comprueba si la bandera es verdadera o falsa
si (bandera)
{
cout << "Sí, la cadena dada es un palíndromo" << endl;
}
demás
{
cout << "No, la cadena dada no es un palíndromo" << endl;
}
regreso;
}
int main ()
{
// Caso de prueba: 1
string str1 = "MUO";
checkPalindrome (str1);
// Caso de prueba: 2
string str2 = "señora";
checkPalindrome (str2);
// Caso de prueba: 3
string str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Caso de prueba: 4
string str4 = "coche de carreras";
checkPalindrome (str4);
// Caso de prueba: 5
string str5 = "mamá";
checkPalindrome (str5);
return 0;
}

Producción:

No, la cadena dada no es un palíndromo 
Sí, la cuerda dada es un palíndromo.
No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
Sí, la cuerda dada es un palíndromo.

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:

# Función para comprobar palíndromo de cuerdas
def checkPalindrome (str):
# Marcar para comprobar si la cadena dada es un palíndromo
bandera = Verdadero
# Encontrar la longitud de la cuerda
n = len (str)
# Conversión de la cadena a minúsculas
str = str.lower ()
# Inicializando variable de índice bajo
bajo = 0
# Inicializando variable de índice alto
alto = n-1
# Ejecutar el ciclo hasta que lo alto sea mayor que lo bajo
mientras alto> bajo:
# Si los caracteres no son los mismos, establezca la bandera en falso
# y romper con el bucle
si str [alto]! = str [bajo]:
bandera = Falso
rotura
# Incrementar la variable de índice bajo
bajo = bajo + 1
# Disminuir la variable de índice alto
alto = alto - 1
# Compruebe si la bandera es verdadera o falsa
si bandera:
print ("Sí, la cadena dada es un palíndromo")
demás:
print ("No, la cadena dada no es un palíndromo")
# Caso de prueba: 1
str1 = "MUO"
checkPalindrome (str1)
# Caso de prueba: 2
str2 = "señora"
checkPalindrome (str2)
# Caso de prueba: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# Caso de prueba: 4
str4 = "coche de carreras"
checkPalindrome (str4)
# Caso de prueba: 5
str5 = "mamá"
checkPalindrome (str5)

Producción:

No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
Sí, la cuerda dada 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:

// Incluyendo bibliotecas
#incluir
#incluir
#incluir
#incluir
// Función para comprobar palíndromo de cadena
palíndromo de verificación nula (char str [])
{
// Marca para comprobar si la cadena dada es un palíndromo
bool flag = verdadero;
// Encontrar la longitud de la cadena
int n = strlen (str);
// Conversión de la cadena a minúsculas
para (int i = 0; i {
str [i] = tolower (str [i]);
}
// Inicializando la variable de índice bajo
int bajo = 0;
// Inicializando la variable de índice alto
int alto = n-1;
// Ejecutar el ciclo hasta que el nivel alto sea mayor que el nivel bajo
mientras (alto> bajo)
{
// Si los caracteres no son los mismos, establezca la bandera en falso
// y romper el bucle
if (str [alto]! = str [bajo])
{
bandera = falso;
rotura;
}
// Incrementar la variable de índice bajo
bajo ++;
// Disminuir la variable de índice alto
elevado--;
}
// Comprueba si la bandera es verdadera o falsa
si (bandera)
{
printf ("Sí, la cadena dada es un palíndromo \ ⁠n");
}
demás
{
printf ("No, la cadena dada no es un palíndromo \ ⁠n");
}
regreso;
}
int main ()
{
// Caso de prueba: 1
char str1 [] = "MUO";
checkPalindrome (str1);
// Caso de prueba: 2
char str2 [] = "señora";
checkPalindrome (str2);
// Caso de prueba: 3
char str3 [] = "MAKEUSEOF";
checkPalindrome (str3);
// Caso de prueba: 4
char str4 [] = "coche de carreras";
checkPalindrome (str4);
// Caso de prueba: 5
char str5 [] = "mamá";
checkPalindrome (str5);
return 0;
}

Producción:

No, la cadena dada no es un palíndromo 
Sí, la cuerda dada es un palíndromo.
No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
Sí, la cuerda dada es un palíndromo.

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:

// Función para comprobar palíndromo de cadena
función checkPalindrome (str) {
// Marca para comprobar si la cadena dada es un palíndromo
var flag = true;
// Encontrar la longitud de la cadena
var n = str.length;
// Conversión de la cadena a minúsculas
str = str.toLowerCase ();
// Inicializando la variable de índice bajo
var low = 0;
// Inicializando la variable de índice alto
var high = n-1;
// Ejecutar el ciclo hasta que el nivel alto sea mayor que el nivel bajo
while (alto> bajo) {
// Si los caracteres no son los mismos, establezca la bandera en falso
// y romper el bucle
if (str [alto]! = str [bajo]) {
bandera = falso;
rotura;
}
// Incrementar la variable de índice bajo
bajo ++;
// Disminuir la variable de índice alto
elevado--;
}
// Comprueba si la bandera es verdadera o falsa
if (bandera) {
console.log ("Sí, la cadena dada es un palíndromo");
} demás {
console.log ("No, la cadena dada no es un palíndromo");
}
}
// Caso de prueba: 1
var str1 = "MUO";
checkPalindrome (str1);
// Caso de prueba: 2
var str2 = "señora";
checkPalindrome (str2);
// Caso de prueba: 3
var str3 = "MAKEUSEOF";
checkPalindrome (str3);
// Caso de prueba: 4
var str4 = "coche de carreras";
checkPalindrome (str4);
// Caso de prueba: 5
var str5 = "mamá";
checkPalindrome (str5);

Producción:

No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
No, la cadena dada no es un palíndromo
Sí, la cuerda dada es un palíndromo.
Sí, la cuerda dada es un palíndromo.

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.

Correo electrónico
¿Aprendiendo Python? Aquí se explica cómo manipular cadenas

Usar y manipular cadenas en Python puede parecer difícil, pero es engañosamente sencillo.

Leer siguiente

Temas relacionados
  • Programación
  • Tutoriales de codificación
Sobre el Autor
Yuvraj Chandra (13 Artículos publicados)

Yuvraj es estudiante de licenciatura en Ciencias de la Computación en la Universidad de Delhi, India. Le apasiona el desarrollo web Full Stack. Cuando no está escribiendo, está explorando la profundidad de diferentes tecnologías.

Más de Yuvraj Chandra

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Un paso más…!

Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.

.