Escribe una función que reciba una cadena no vacía y retorne si es o no un palíndromo:
public class EsPalindromo {
public static boolean esPalindromo(String palabra) { // Complejidad Tiempo O(n) | Espacio O(n)
StringBuilder invertida = new StringBuilder();
for (int i = palabra.length() - 1; i >= 0; i--) {
invertida.append(palabra.toLowerCase().charAt(i));
}
return palabra.toLowerCase().equals(invertida.toString()); // Aquí está la comparación
}
public static void main(String[] args) {
System.out.println(esPalindromo("mex"));
System.out.println(esPalindromo("Lol"));
}
}
1. La forma más sencilla de resolver este algoritmo bastante común en entrevistas de programación, es invirtiendo la cadena de entrada y comparándola consigo misma.
2. Aunque se puede resolver de distintas maneras, este es un acercamiento bastante funcional y popular.
3. Para este ejemplo particular, se retorna True o False dependiendo si la condición de igualdad se cumple.
0 remarks:
Publicar un comentario