Maison >développement back-end >tutoriel php >Explication détaillée des étapes pour obtenir les nœuds de la liste chaînée de l'arrière vers l'avant en PHP

Explication détaillée des étapes pour obtenir les nœuds de la liste chaînée de l'arrière vers l'avant en PHP

php中世界最好的语言
php中世界最好的语言original
2018-05-19 14:48:461525parcourir

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 :

Explication détaillée des étapes pour faire fonctionner la base de données mongoDB avec tp5 (thinkPHP5)

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!

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