Heim > Java > javaLernprogramm > Hauptteil

Häufig verwendete Operationen für verknüpfte Listen – ausführliche Erläuterung der Umkehrung

零下一度
Freigeben: 2017-07-19 13:40:50
Original
2034 Leute haben es durchsucht

Häufig verwendete Operationen für verknüpfte Listen – Umkehrung

Lassen Sie uns zunächst eine Knotenklasse für eine einfach verknüpfte Liste definieren

public class ListNode {2         
int val;3         ListNode next = null;// 指向的下个节点4 5         
ListNode(int val) {6             this.val = val;7         }8     
}
Nach dem Login kopieren

Implementieren einfach verknüpfte Liste Es gibt zwei Umkehrmethoden

1. Verwenden Sie die Rekursion und kehren Sie von hinten nach vorne um. Beginnen Sie am Kopfknoten, suchen Sie rückwärts, bis Sie den Endknoten finden, und beginnen Sie dann mit der Rückwärtsbewegung. ​

 1     public ListNode reverseList(ListNode head) { 2         
 if (head == null || head.next == null) 3             return head; 4  5         
 ListNode prev = reverseList(head.next);// 递归调用,先反转下个节点 6  7         
 head.next.next = head;// 将当前结点的指针域指向前一结点 8         
 head.next = null;// 前一结点的指针域令为null; 9         
 return prev;// 反转后新链表的头结点10     
 }
Nach dem Login kopieren

2. Verwenden Sie die Quer- und Rückwärtsbewegung von vorne nach hinten. Speichern Sie zuerst den nächsten Knoten, verweisen Sie dann den aktuellen Knoten auf den vorherigen Knoten und verschieben Sie den Knoten dann nach unten, um den Zyklus für die nächste Umkehrung fortzusetzen.

 1     public ListNode reverseList(ListNode head) { 2         if (head == null) { 3             
 return null; 4         } 5         ListNode pre = null; 6         
 ListNode next = null; 7         while (head != null) { 8             
 // 保存下个节点,防止丢失 9             next = head.next;10             
 // 将他的下个节点指向前个节点11             head.next = pre;12 13             
 // head指向pre后,就继续依次反转下个节点14             
 // 让pre,head依次向后移动一个节点,继续下一次的反转15             
 pre = head;16             head = next;17         }18         
 return pre;19     
 }
Nach dem Login kopieren

Sobald ich mit der Online-Programmierung fertig war, habe ich sie aufgezeichnet, damit ich sie in Zukunft leichter nachschlagen kann.

Das obige ist der detaillierte Inhalt vonHäufig verwendete Operationen für verknüpfte Listen – ausführliche Erläuterung der Umkehrung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!