Cette fois, je vais vous donner une explication détaillée des étapes pour récupérer les nœuds d'une liste chaînée de l'arrière vers l'avant en PHP Quelles sont les précautions pour récupérer les nœuds d'une liste chaînée de l'arrière. à l'avant en PHP. Ce qui suit est un cas pratique. Jetons un coup d'oeil.
Problème
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 les 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 prochain du premier pointeur est vide, null est renvoyé
Implémentation code
<?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; }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Pourquoi y a-t-il un problème avec PHP Class SoapClient introuvable Et solutions
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!