Elaborar una función recursiva que permita detectar si una frase o palabra es palíndromo.
Debemos saber que un palíndromo es una frase número o palabra que se lee igual hacia adelante que hacia atrás.
Algunas palabras y freses son: ana, rotor, salas, seres, somos y la frase favorita de todos: anita lava la tina.
package org.luisalberto.laboratorio.practica5;
public class Palindromo {
public static boolean esPalindromo(String palabra) {
palabra = palabra.toLowerCase();
if (palabra.length() <= 1)
return true;
char primerLetra = palabra.charAt(0);
char ultimaLetra = palabra.charAt(palabra.length() - 1);
if (Character.isLetter(primerLetra) && Character.isLetter(ultimaLetra))
if (primerLetra != ultimaLetra)
return false;
else
{
String pal = palabra.substring(1, palabra.length() - 1);
return esPalindromo(pal);
}
else if (!Character.isLetter(primerLetra))
{
String pal = palabra.substring(1);
return esPalindromo(pal);
}
else
{
String pal = palabra.substring(0, palabra.length() - 1);
return esPalindromo(pal);
}
}
public static void main(String[] args) {
String palabra = "anita lava la tina";
if (esPalindromo(palabra))
System.out.println("Si es palindromo");
else
System.out.println("No es palindromo");
}
}$ javac -d . Palindromo.java $ java org.luisalberto.laboratorio.practica5.Palindromo Si es palindromo