Maison  >  Article  >  développement back-end  >  Comment afficher le k-ème nœud du bas de la liste chaînée en PHP (exemple de code)

Comment afficher le k-ème nœud du bas de la liste chaînée en PHP (exemple de code)

不言
不言original
2018-09-12 17:02:541376parcourir

Le contenu de cet article explique comment implémenter le k-ième nœud à partir du bas de la liste de liens de sortie (exemple de code) en PHP. Il a une certaine valeur de référence. J'espère que les amis dans le besoin pourront s'y référer. vous sera utile.

Saisissez une liste chaînée et affichez le k-ième nœud à partir du dernier dans la liste chaînée. Le premier pointeur prend (k-1) pas pour atteindre le k-ème nœud. Les deux pointeurs reculent en même temps. Lorsque le premier nœud atteint la fin, le deuxième nœud est situé au k-ème nœud à partir du bas. .

<?php
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<$k-1;$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
  }
}

Recommandations associées :

PHP. Méthode pour obtenir le Kème nœud du dernier de la liste chaînée

Exemple de code PHP pour implémenter un didacticiel list_PHP à chaînage unique

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn