Buenas, esta vez les mostrare una función recursiva que determina si una palabra es palíndromo. Para los que no saben que es un palíndromo: wikipedia dijo:Un palíndromo (del griego palin dromein, volver a ir hacia atrás) es una palabra, número o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa. Habitualmente, las frases palindrómicas se resienten en su significado cuanto más largas son. :=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= el algoritmo es bastante sencillo, pero les servirá a los que estén iniciando con funciones recursivas: public static boolean comprobar(String palabra){ if(palabra.length() == 1 || palabra.length() == 0) return true; else{ if(palabra.charAt(0) == palabra.charAt(palabra.length()-1) ) return comprobar(palabra.substring(1,palabra.length()-1)); return false; } } => el primer caso base es que el la longitud de la palabra sea 0 o 1 , que sera en esencia un palíndromo y retornara true. => si no cumple el primer estamento, comprueba que la primera y la ultima letra sean iguales, de ser así las "elimina" y se llama recursivamente con la palabra resultante, si las letras no eran iguales retorna false. ejemplo con la palabra aibofobia(miedo a los palíndromos ): aibofobia aibofobia ibofobi bofob ofo f <= encuentra palabra de longitud 1, y retorna true :=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= Si desean utilizarlo con frases(como: "anita lava la tina" ) entonces deberían agregar un método como este: public static boolean ajustar(String palabra){ palabra.toLowerCase(); String sinespacios = palabra.replaceAll(" ", ""); return comprobar(sinespacios); } Básicamente elimina los espacios, convierte todas las letras en minúscula y llama al método comprobar con la palabra resultante. :=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= Gracias por pasar!.
Datos archivados del Taringa! original
26puntos
1,234visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
7visitas
0comentarios
Dar puntos: