In diesem Artikel wird hauptsächlich die Methode von PHP zum Abrufen des K-ten Knotens vom letzten in der verknüpften Liste vorgestellt. Dabei werden die zugehörigen Betriebsfähigkeiten von PHP für die Durchquerung und Beurteilung verknüpfter Listen berücksichtigt. Freunde, die sich für PHP interessieren, können auf diesen Artikel verweisen
Problem
Geben Sie eine verknüpfte Liste ein und geben Sie den k-ten Knoten vom letzten in der verknüpften Liste aus.
Lösung
Beachten Sie, dass diese Frage Knoten und keine Werte zurückgibt. Der Rückgabewert kann auf dem Stack gespeichert werden. Dies ist mit Rückgabeknoten nicht möglich.
Setzen Sie zwei Zeiger und bewegen Sie zunächst den ersten Zeiger k-1 Mal. Dann bewegen sich die beiden Zeiger gleichzeitig. Wenn der erste Zeiger den letzten Knoten erreicht, befindet sich der zweite Zeiger am k-ten Knoten von unten.
Beachten Sie die Grenze: Die Länge von K kann die Länge der verknüpften Liste überschreiten. Wenn also der nächste Zeiger des ersten Zeigers leer ist, wird null zurückgegeben
Implementierung Code
<?php /*class ListNode{ var $val; var $next = NULL; function construct($x){ $this->val = $x; } }*/ function FindKthToTail($head, $k) { if($head == NULL || $k ==0) return NULL; $pre = $head; $last = $head; for($i=1; $i<$k; $i++){ if($last->next == NULL) return NULL; else $last = $last->next; } while($last->next != NULL){ $pre = $pre->next; $last = $last->next; } return $pre; }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er kann jedem beim Lernen helfen! !
Verwandte Empfehlungen:
Detaillierte Erläuterung der Funktionstypdeklarationen in jeder PHP-Version
Einführung in neue Funktionen in PHP7PHP Ruft das erste sich nicht wiederholende Zeichen
im Zeichenstrom abDas obige ist der detaillierte Inhalt vonPHP-Methode zum Abrufen des K-ten Knotens vom letzten in einer verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!