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 les compétences opérationnelles associées de PHP pour le parcours et le jugement des listes chaînées. Les amis intéressés par PHP peuvent se référer à cet article
.Question
Entrez une liste chaînée et affichez le k-iè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 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; }
Ce qui précède est tout le contenu de cet article, j'espère que cela pourra aider tout le monde à apprendre ! !
Recommandations associées :
Explication détaillée des déclarations de types de fonctions dans chaque version de PHP
Introduction aux nouvelles fonctionnalités de PHP7PHP Obtenez le premier caractère non répétitif
dans le flux de caractèresCe 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!