>  기사  >  웹 프론트엔드  >  연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 방법입니다.

연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 방법입니다.

小云云
小云云원래의
2018-01-19 09:28:391284검색

이 기사에서는 PHP의 연결 목록 탐색 및 판단과 기타 관련 운영 기술을 포함하여 연결 목록의 마지막 노드에서 K번째 노드를 얻는 방법을 주로 소개합니다. 그것이 당신을 도울 수 있기를 바랍니다.

Question

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

솔루션 아이디어

이 질문은 값이 아니라 노드 반환에 관한 것입니다. 반환 값은 스택에 저장될 수 있습니다. 이는 반환 노드에서는 수행할 수 없습니다.

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

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

구현 코드


<span style="font-size: 14px;"><?php<br/>/*class ListNode{<br/> var $val;<br/> var $next = NULL;<br/> function __construct($x){<br/>  $this->val = $x;<br/> }<br/>}*/<br/>function FindKthToTail($head, $k)<br/>{<br/> if($head == NULL || $k ==0)<br/>  return NULL;<br/> $pre = $head;<br/> $last = $head;<br/> for($i=1; $i<$k; $i++){<br/>  if($last->next == NULL)<br/>   return NULL;<br/>  else<br/>   $last = $last->next;<br/> }<br/> while($last->next != NULL){<br/>  $pre = $pre->next;<br/>  $last = $last->next;<br/> }<br/> return $pre;<br/>}<br/></span>

관련 권장 사항:

DOM 소개 및 노드, 속성 및 검색 노드

연결된 목록에서 링의 항목 노드 인스턴스를 찾는 PHP 구현에 대한 자세한 설명

jQuery 노드 탐색 방법 요약

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

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