System.out.println(palindromo("Arriba la birra")); System.out.println(palindromo("Arriba mi birra")); System.out.println(palindromo("Isaac no ronca asi")); System.out.println(palindromo("En un lugar de la mancha")); StringBuilder sbuilder = new StringBuilder(); long inicio = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { sbuilder.append("Elefante"); } long fin = System.currentTimeMillis(); System.out.println("Tiempo del StringBuilder: " + (fin - inicio)); String cadena = ""; inicio = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { cadena += "Elefante"; } fin = System.currentTimeMillis(); System.out.println("Tiempo del String: " + (fin - inicio)); } // Esta función nos dice si una cadena es o no un palíndromo // Se lee igual de principio a final que a la inversa // Ejemplo: Arriba la birra static boolean palindromo(String cadena) { // Igual a si misma dada la vuelta // Creo el stringbuilder StringBuilder cadsb = new StringBuilder(cadena.toLowerCase().replace(" ", "")); // Creo otro igual StringBuilder cadsb2 = new StringBuilder(cadsb); // Le doy la vuelta cadsb2.reverse(); // Y los comparo return cadsb.compareTo(cadsb2) == 0; }