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;
}