A lo largo de los años, verificar si una cuerda es un palíndromo o no se ha convertido en una pregunta clásica de entrevista de codificación. Esto se debe a que involucra conceptos sobre manipulación y comparación de cadenas e incluso bucles dependiendo de la implementación. Y, la pregunta no es larga, por lo que puede completarse dentro de las limitaciones de tiempo de una entrevista. Este artículo incluye la implementación para verificar si una cadena es palíndromo en java y python.
¿Qué es un palíndromo?
De acuerdo con sinónimo.com, la definición de palíndromo es "una palabra o frase que dice lo mismo hacia atrás que hacia adelante". Básicamente, significa que si escribe la palabra o frase al revés, será exactamente igual que cuando se reenvió. Por ejemplo, papá y mamá son palíndromos y papá y mamá no. La palabra "palíndromo" viene de dos palabras raíz griegas, "palín", que significa de nuevo y "dromos", que significa camino o dirección. Fue acuñado por el dramaturgo inglés Ben Jonson en el siglo 17.
Solución
La forma más común y fácil de resolver la cuestión es invirtiendo el primero y luego compararlo con la cadena original. Este enfoque será O (n) en notación big-O porque la inversión de cadena es O (n).
Otra forma sería comenzar a comparar caracteres desde el principio y el final y continuar hasta que llegar al medio Este enfoque tiene una complejidad de tiempo de O (n /2) pero en notación big-O seguirá siendo O (n). Pero la ventaja de este enfoque es que puede devolver False tan pronto como encuentre el primer desajuste, mientras que con el primer enfoque, dado que invertir una cadena es el primer paso, la complejidad del tiempo siempre será O (n).
Palindrome en la implementación de Python
A continuación se muestra el código para verificar si una cadena es palindrome en python.
Palindrome en la implementación de Java
A continuación se muestra el código para verificar si una cadena es palíndromo en Java.
Sugerencia
Confirme con el entrevistador si desea que el código distinga entre mayúsculas y minúsculas o no. Por ejemplo: si el código distingue entre mayúsculas y minúsculas, entonces papá no es un palíndromo porque el primer carácter es mayúscula "D" y el último carácter es minúscula "d".
[Compruebe si una cadena es Palindrome en Java y Python] URL: http://www.ordenador.online/computadora/Software/253534.html