Maison >développement back-end >tutoriel php >Une explication sur la façon d'obtenir le K-ème nœud du dernier dans une liste chaînée en utilisant PHP

Une explication sur la façon d'obtenir le K-ème nœud du dernier dans une liste chaînée en utilisant PHP

jacklove
jackloveoriginal
2018-06-30 17:47:261496parcourir

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 la traversée et le jugement de la liste chaînée. Les amis dans le besoin peuvent s'y référer

Ceci. L'article décrit les exemples de méthode PHP pour obtenir le Kème nœud du dernier d'une liste chaînée. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Problème

Entrez une liste chaînée et sortez le kème nœud du dernier dans 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;
}

Articles qui pourraient vous intéresser :

Impression PHP de haut en bas Explication de la méthode de l'arbre binaire

Méthode php d'envoi de données personnalisées via les compétences header_php

php utilise ob_start() Explication des méthodes de sortie claire et de sortie sélective

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