876. 연결 목록의 중간

2373 단어
단일 연결 리스트의 헤드가 주어지면 연결 리스트의 중간 노드를 반환합니다.

두 개의 중간 노드가 있는 경우 두 번째 중간 노드를 반환합니다.

예 1:

입력: 헤드 = [1,2,3,4,5]
출력: [3,4,5]
설명: 목록의 중간 노드는 노드 3입니다.
예 2:

입력: 헤드 = [1,2,3,4,5,6]
출력: [4,5,6]
설명: 목록에는 값이 3과 4인 두 개의 중간 노드가 있으므로 두 번째 노드를 반환합니다.

제약:

목록의 노드 수는 [1, 100] 범위입니다.
1 <= Node.val <= 100

해결책 :

var middleNode = function(head) {
  // create array A to push elements in 
    let A = [head];
  // Remember that Linked List is Like SANDWISH the head contain the next node and the next node contain the next node till the end 
  // The end is where no next | node.next = null


  // loop though the list till the end 
    while (A[A.length - 1].next != null)
      // push every element 
        A.push(A[A.length - 1].next);
  // Return the middle one 
    return A[Math.trunc(A.length / 2)];
};

좋은 웹페이지 즐겨찾기