아래 링크의 강의 중 Section 22. Find the Midpoint
의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
function midpoint(list) {
let slow = list.getFirst();
let fast = list.getFirst();
while (fast.next && fast.next.next) {
slow = slow.next;
fast = fast.next.next;
}
return slow;
}
linked list
를 한 칸씩 탐색하는 변수 slow
와 두 칸씩 탐색하는 변수 fast
를 각각 선언한다. fast
로 탐색을 하다 더 이상 탐색값이 없다면(null) while문
을 멈추고 linked list
의 중간값인 slow
를 반환한다.