>  기사  >  백엔드 개발  >  연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 메서드

연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 메서드

韦小宝
韦小宝원래의
2018-01-19 09:40:461364검색

이 글은 주로 연결리스트의 마지막 노드부터 K번째 노드를 얻는 PHP의 방법을 소개하며, 연결리스트에 대한 PHP의 순회, 판단 및 기타 관련 운영 기술을 포함합니다. PHP에 관심이 있는 친구들은 이 글을 참고하세요

Questions

연결리스트를 입력하고 연결리스트의 마지막 노드부터 k번째 노드를 출력합니다.

솔루션 아이디어

이 질문은 값이 아닌 노드를 반환한다는 점에 유의하세요. 반환 값은 스택에 저장될 수 있습니다. 이는 반환 노드에서는 수행할 수 없습니다.

두 개의 포인터를 설정하고 먼저 첫 번째 포인터를 k-1번 이동합니다. 그런 다음 두 포인터가 동시에 이동합니다. 첫 번째 포인터가 마지막 노드에 도달하면 두 번째 포인터는 아래쪽에서 k번째 노드에 있습니다.

경계에 주의하세요: K의 길이가 연결리스트의 길이를 초과할 수 있으므로 첫 번째 포인터의 다음이 비어 있으면 null이 반환됩니다.

구현 코드

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

위 내용이 전부입니다 이 기사의 내용이 모든 사람에게 도움이 되기를 바랍니다. !

관련 권장 사항:

각 PHP 버전의 함수 유형 선언에 대한 자세한 설명

PHP7의 새로운 기능 소개

PHP는 문자 스트림에서 첫 번째 비반복 문자를 가져옵니다

위 내용은 연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 메서드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.