이 글은 주로 연결리스트의 마지막 노드에서 K번째 노드를 얻는 PHP의 방법을 소개하며, 연결리스트에 대한 PHP의 순회, 판단 및 기타 관련 연산 기술을 포함하여 도움이 필요한 친구들이 참고할 수 있습니다
이 예는 다음과 같습니다. 기사는 PHP에게 연결된 목록에서 두 번째 노드를 얻도록 지시합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
Question
연결된 목록을 입력하고 연결 목록의 마지막 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에서 위에서 아래로 이진 트리를 인쇄하는 방법에 대한 설명
php header_php 기술을 통해 사용자 정의 데이터를 보내는 방법
php에서 어떻게 사용하는지에 대한 설명 출력 및 선택적 출력을 지우는 ob_start()
위 내용은 PHP를 사용하여 연결리스트의 마지막 노드에서 K번째 노드를 가져오는 방법에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!