2018-11-08 17:23:40 1414瀏覽
如今參加PHP培訓(xùn)學(xué)習(xí)的小伙伴不斷的增加,本篇文章小編和大家分享一個PHP技術(shù)方面的問題,那就是PHP獲取鏈表中倒數(shù)第K個節(jié)點(diǎn)的方法,對PHP開發(fā)感興趣的小伙伴就隨小編一起來看一下吧。
本文實(shí)例講述了PHP獲取鏈表中倒數(shù)第K個節(jié)點(diǎn)的方法,具體如下:
問題:
輸入一個鏈表,輸出該鏈表中倒數(shù)第k個結(jié)點(diǎn)。
解決思路:
注意這個題目是返回節(jié)點(diǎn),而不是返回值。返回值的話可以用棧來存儲。返回節(jié)點(diǎn)則不能這樣做。
設(shè)置兩個指針,先讓第一個指針移動k-1次。然后兩個指針同時移動,當(dāng)?shù)谝粋€指針到達(dá)最后一個節(jié)點(diǎn),第二個指針就在倒數(shù)第k個節(jié)點(diǎn)。
注意邊界:K長度可能超出鏈表長度,所以當(dāng)?shù)谝粋€指針的next為空時,返回null。
實(shí)現(xiàn)代碼:
<?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;
}
以上就是扣丁學(xué)堂PHP在線學(xué)習(xí)小編給大家分享的PHP獲取鏈表中倒數(shù)第K個節(jié)點(diǎn)的方法,希望對小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢。
想要學(xué)好PHP開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的PHP學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時俱進(jìn)的PHP視頻直播課供大家學(xué)習(xí),想要學(xué)好PHP開發(fā)技術(shù)的小伙伴快快行動吧??鄱W(xué)堂PHP技術(shù)交流群:374332265。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>