Qué es un palíndromo
Un palíndromo es una palabra, número o frase que se lee exactamente igual de izquierda a derecha que de derecha a izquierda. El ejemplo más simple es una palabra como reconocer: si la escribís al revés, obtenés la misma secuencia de letras. El término viene del griego palíndromos, que significa "que vuelve a correr" o "que corre de nuevo".
Cómo se comprueba un palíndromo
Comparar el texto tal cual daría falsos negativos, porque los espacios, las mayúsculas y la puntuación no cuentan en un palíndromo de frase. Por eso primero normalizamos: pasamos todo a minúsculas, quitamos las tildes (á se convierte en a), y eliminamos todo lo que no sea una letra o un número. Recién entonces comparamos la cadena resultante con su versión invertida. Si son idénticas, es un palíndromo.
- Minúsculas: "Anita" y "anita" se tratan igual.
- Sin tildes: "dábale" se compara como "dabale".
- Solo alfanumérico: se descartan espacios, comas y símbolos.
- Comparación: la cadena normalizada debe ser igual a su reverso.
Tipos de palíndromos
- De palabra: una sola palabra capicúa, como radar, oso o reconocer.
- De frase: varias palabras que juntas forman un palíndromo, como anita lava la tina.
- Numérico (capicúa): números que se leen igual en ambos sentidos, como 12321 o 1001.
- De fecha: fechas que resultan capicúa según el formato, un clásico de curiosidades.
Palíndromos famosos en español
El español tiene palíndromos célebres por su ingenio. Algunos de los más conocidos:
| Tipo | Ejemplo |
|---|---|
| Palabra | reconocer |
| Palabra | radar |
| Frase | anita lava la tina |
| Frase | dábale arroz a la zorra el abad |
| Frase | a la Manuela dale una mala |
| Número | 12321 |
Palíndromos en programación y entrevistas
"Verificar si una cadena es un palíndromo" es uno de los ejercicios de entrevista técnica más frecuentes. La idea es la misma que usamos acá: normalizar la cadena y compararla con su reverso, o bien recorrerla con dos punteros (uno al inicio, otro al final) que avanzan hacia el centro. Es un problema ideal para practicar manejo de strings, complejidad temporal O(n) y casos borde como cadenas vacías, mayúsculas y caracteres no alfabéticos.