Hola voy con la respuesta, un palíndromo es una palabra que se lee igual de izquierda a derecha y de derecha a izquierda.
Ejemplo: reconocer es un palíndromo
El algoritmo para determinar si una palabra es un palíndromo puede ser descrito informalmente así: hay que comparar todos los pares de letras comenzando desde los extremos hacia el centro. Si todos los pares son iguales, entonces la palabra sí es un palíndromo. Basta que se encuentre un par de letras correspondientes distintas para que la palabra no sea un palíndromo.
Pseudocódigo:
Inicio
Mostrar 'Ingrese la palabra'
Pedir palabra
i = 1
j = longitud(palabra)
hacer mientras (extraerLetra(palabra, i) = extraerLetra(palabra,j) y i < j) {
i = i + 1
j = j - 1
Fin HacerMientras
Si (i >= j) entonces
Mostrar "La palabra ", palabra, " es palindromo"
Sino
Mostrar "La palabra ", palabra, " es palindromo"
FinSi
Fin
Ejemplo implementación en java:
public class Palindromo {
public static void main(String[] args) {
String[] palabras = {"reconocer","asdfdsa","AsDdSa","Sale El As","No palindromos","Cualquier frase","O palabra","Que no sea palindromo"};
int indice = (int)(Math.random() * palabras.length);
System.out.println("Palabra utilizada: "+ palabras[indice]);
if (palindromo(palabras[indice]))
System.out.println("Palindromo");
else
System.out.println("NO Palindromo");
}
static boolean palindromo(String palabra)
{
//Quitar espacios y convertirlo a minusculas para hacer las comparaciones
String modificado = palabra.replaceAll(" ","").toLowerCase();
int i=0;
while (i < modificado.length() / 2)
{
if (modificado.charAt(i) != modificado.charAt(modificado.length() -1 -i))
return false;
i++;
}
return true;
}
}