Ejemplo Palindromo y test

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

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos