Heim > Artikel > Web-Frontend > PHP-Methode zum Abrufen des K-ten Knotens vom letzten in der verknüpften Liste. Beispielfreigabe
In diesem Artikel wird hauptsächlich die Methode von PHP vorgestellt, um den K-ten Knoten vom letzten in der verknüpften Liste zu erhalten. Dabei werden PHPs Durchlauf-, Beurteilungs- und andere damit verbundene Bedienfähigkeiten für die verknüpfte Liste berücksichtigt . Ich hoffe, es kann allen helfen.
Frage
Geben Sie eine verknüpfte Liste ein und geben Sie den k-ten Knoten von unten 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
Implementierungscode
<span style="font-size: 14px;"><?php<br/>/*class ListNode{<br/> var $val;<br/> var $next = NULL;<br/> function __construct($x){<br/> $this->val = $x;<br/> }<br/>}*/<br/>function FindKthToTail($head, $k)<br/>{<br/> if($head == NULL || $k ==0)<br/> return NULL;<br/> $pre = $head;<br/> $last = $head;<br/> for($i=1; $i<$k; $i++){<br/> if($last->next == NULL)<br/> return NULL;<br/> else<br/> $last = $last->next;<br/> }<br/> while($last->next != NULL){<br/> $pre = $pre->next;<br/> $last = $last->next;<br/> }<br/> return $pre;<br/>}<br/></span>
Verwandte Empfehlungen:
DOM-Einführung und Knoten , Attribute und Suchknoten
JQuery-Knoten Zusammenfassung der Traversierungsmethode
Das obige ist der detaillierte Inhalt vonPHP-Methode zum Abrufen des K-ten Knotens vom letzten in der verknüpften Liste. Beispielfreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!