Überall auf Netz sehe ich das Programm, das wieUmgekehrte Liste von Header-Knoten?
hier Knoten ist der Kopfknoten von Schwanz revering starten
reverseNode(int node){
if(node==null){
return;
}
reverseNode(node.next);
Node temp = node.next;
node.next = node.prev;
node.prev=temp;
if(node.prev==null){
headNode = node;
}
}
Aber ich kann der Ansatz denken, wo ich vom Kopfknoten auch wie umkehren kann
hier Knoten ist der Header-Knoten
reverseNode(int node){
if(node==null){
return;
}
Node temp = node.next;
node.next = node.prev;
node.prev=temp;
reverseNode(node.prev);
if(node.prev==null){
headNode = node;
}
}
Aber ich nicht siehe Ansatz überall erwähnt. Gibt es einen Bug/ein Problem in diesem Ansatz oder ist es nicht optimiert?
Also meine zweite Ansatz ist gut im Zusammenhang mit der Umkehr der verknüpften Liste – emilly
Ja, Ihr Ansatz funktioniert und wird in der Regel effizienter in Bezug auf den Raum als der Kopf rekursive, wie es funktioniert eher wie eine Schleife (weniger Staat wird auf dem Aufrufstapel angezeigt, da der Großteil der Arbeit vor dem rekursiven Schritt ausgeführt wird). – Soggiorno
Zugehörig: http://stackoverflow.com/questions/33923/what-istail-recursion – Soggiorno