php输出0到5之间到数,php如何实现输出链表倒数第k个结点(代码实例)
本篇文章給大家帶來的內容是關于php如何實現輸出鏈表倒數第k個結點(代碼實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
輸入一個鏈表,輸出該鏈表中倒數第k個結點。第一個指針走(k-1)步,到達第k個節點,兩個指針同時往后移動,當第一個結點到達末尾的時候,第二個結點所在位置就是倒數第k個節點了
class Node{
public $data;
public $next;
}
//創建一個鏈表
$linkList=new Node();
$linkList->next=null;
$temp=$linkList;
for($i=1;$i<=10;$i++){
$node=new Node();
$node->data="aaa{$i}";
$node->next=null;
$temp->next=$node;
$temp=$node;
}
//輸入一個鏈表,輸出該鏈表中倒數第k個結點。
function find($linkList,$k){
//速度快的指針
$fast=$linkList;
//速度慢的指針
$slow=$linkList;
//快指針先移動k-1步
for($i=0;$i
$fast=$fast->next;
}
if($fast->next==null){
return false;
}
//快慢指針一塊移動
while($fast->next!=null){
$fast=$fast->next;
$slow=$slow->next;
}
return $slow;
}
$knode=find($linkList,2);
var_dump($knode);
object(Node)#10 (2) {
["data"]=> string(4) "aaa9"
["next"]=> object(Node)#11 (2) {
["data"]=> string(5) "aaa10"
["next"]=> NULL
}
}
相關推薦:
總結
以上是生活随笔為你收集整理的php输出0到5之间到数,php如何实现输出链表倒数第k个结点(代码实例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车内饰胶水弄衣服上,怎么清除
- 下一篇: 汽车临牌全国通用吗?