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 PHP7PHP Get the first non-repeating character
in the character streamThe 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!