Cet article présente principalement la méthode PHP pour obtenir le Kème nœud du dernier de la liste chaînée, impliquant le parcours, le jugement et d'autres compétences opérationnelles associées de PHP pour la liste chaînée. Les amis qui en ont besoin peuvent s'y référer. . J'espère que cela pourra aider tout le monde.
Question
Entrez une liste chaînée et affichez le k-ème nœud du dernier de la liste chaînée.
Solution
Notez que cette question renvoie des nœuds, pas des valeurs. La valeur de retour peut être stockée sur la pile. Cela ne peut pas être fait avec des nœuds de retour.
Définissez deux pointeurs, déplacez d'abord le premier pointeur k-1 fois. Ensuite, les deux pointeurs se déplacent en même temps lorsque le premier pointeur atteint le dernier nœud, le deuxième pointeur se trouve au k-ième nœud à partir du bas.
Notez la limite : la longueur de K peut dépasser la longueur de la liste chaînée, donc lorsque le suivant du premier pointeur est vide, null est renvoyé
Code d'implémentation
<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>
Recommandations associées :
Introduction et nœuds DOM , attributs et nœuds de recherche
Nœud JQuery résumé de la méthode de traversée
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!