Home  >  Article  >  Backend Development  >  PHP method to get the Kth node from the last in a linked list

PHP method to get the Kth node from the last in a linked list

韦小宝
韦小宝Original
2018-01-19 09:40:461363browse

This article mainly introduces the method of PHP to obtain the Kth node from the last in the linked list, involving PHP's traversal, judgment and other related operating skills for the linked list. Friends who are interested in PHP can refer to this article

Question

Input a linked list and output the k-th node from the last in the linked list.

Solution ideas

Note that this question returns nodes, not values. The return value can be stored on the stack. This cannot be done with return nodes.

Set two pointers, first move the first pointer k-1 times. Then the two pointers move at the same time. When the first pointer reaches the last node, the second pointer is at the k-th node from the bottom.

Note the boundary: the length of K may exceed the length of the linked list, so when the next of the first pointer is empty, null is returned

Implementation 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;
}

The above is all the content of this article, I hope it can help everyone learn! !

Related recommendations:

Detailed explanation of function type declarations in each version of PHP

Introduction to new features in PHP7

PHP Get the first non-repeating character

in the character stream

The above is the detailed content of PHP method to get the Kth node from the last in a linked list. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn