La soluci贸n de la profe en Java, reverseLinkedList m茅todo que va en la clase ListaEnlazada realizada en la secci贸n previa, Java no permite la asignaci贸n paralela como en Python, por lo cual se usa la variable temp:
public void reverseLinkedList() {
Nodo anterior = null;
Nodo temp = null;
Nodo cabezaInicial = this.cabeza;
Nodo colaInicial = this.cola;
while (this.cabeza != null) {
temp = this.cabeza.siguiente; // Guardamos el Nodo cabeza.siguiente
this.cabeza.siguiente = anterior;
if ((this.cabeza.equals(colaInicial))) {
/*
* Cuando llegamos al 煤tlimo Nodo de la lista, que ahora es cabeza,
* al Nodo cola le asignamos el Nodo cabeza inicial, es decir
* al Nodo cola le asignamos el Nodo con el cual se inici贸 el recorrido del while.
*/
this.cola = cabezaInicial;
break;
}
anterior = this.cabeza;
this.cabeza = temp;
}
}
Cuando llegamos al 煤ltimo Nodo de la lista, se rompe el while antes de anterior = this.cabeza; this.cabeza = temp;, para que Nodo cabeza no apunte a null y para no hacer una asignaci贸n dem谩s a Nodo anterior.
Want to see more contributions, questions and answers from the community?