이 기사에서는 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>
관련 권장 사항:
연결된 목록에서 링의 항목 노드 인스턴스를 찾는 PHP 구현에 대한 자세한 설명
위 내용은 연결된 목록의 마지막 노드에서 K번째 노드를 가져오는 PHP 방법입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!