Práctica N° 5: Palíndromo


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

Posted in

Leave a Reply