Heim > Artikel > Backend-Entwicklung > Ausführliche Erklärung zum Zusammenführen zweier sortierter verknüpfter Listen in PHP
In diesem Artikel wird hauptsächlich die Methode zum Zusammenführen zweier sortierter verknüpfter Listen in PHP vorgestellt, wobei die damit verbundenen Betriebsfähigkeiten von PHP zum Durchlaufen, Beurteilen und Sortieren anderer verknüpfter Listen berücksichtigt werden. Freunde, die sie benötigen, können darauf zurückgreifen.
Problem
Geben Sie zwei monoton ansteigende verknüpfte Listen ein und geben Sie die synthetisierte verknüpfte Liste der beiden verknüpften Listen aus. Natürlich benötigen wir die synthetisierte Eine verknüpfte Liste, die Monotone erfüllt, verringert die Regel nicht.
Lösung
Einfache Zusammenführungssortierung. Da die beiden Arrays von Natur aus wachsen, nehmen Sie jedes Mal einfach den kleineren Teil der beiden Arrays.
Implementierungscode
<?php /*class ListNode{ var $val; var $next = NULL; function __construct($x){ $this->val = $x; } }*/ function Merge($pHead1, $pHead2) { if($pHead1 == NULL) return $pHead2; if($pHead2 == NULL) return $pHead1; $reHead = new ListNode(); if($pHead1->val < $pHead2->val){ $reHead = $pHead1; $pHead1 = $pHead1->next; }else{ $reHead = $pHead2; $pHead2 = $pHead2->next; } $p = $reHead; while($pHead1&&$pHead2){ if($pHead1->val <= $pHead2->val){ $p->next = $pHead1; $pHead1 = $pHead1->next; $p = $p->next; } else{ $p->next = $pHead2; $pHead2 = $pHead2->next; $p = $p->next; } } if($pHead1 != NULL){ $p->next = $pHead1; } if($pHead2 != NULL) $p->next = $pHead2; return $reHead; }
Verwandte Empfehlungen:
PHP-Methode zum Abrufen des K-ten Knotens vom letzten in der Beispielfreigabe für verknüpfte Listen
PHP double Detailliertes Beispiel einer verknüpften Liste
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Zusammenführen zweier sortierter verknüpfter Listen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!