DEV Community

Mira M-Gh
Mira M-Gh

Posted on

876. Middle of the Linked List

Given the head of a singly linked list, return the middle node of the linked list.

If there are two middle nodes, return the second middle node.

Example 1:

Input: head = [1,2,3,4,5]
Output: [3,4,5]
Explanation: The middle node of the list is node 3.
Example 2:

Input: head = [1,2,3,4,5,6]
Output: [4,5,6]
Explanation: Since the list has two middle nodes with values 3 and 4, we return the second one.

Constraints:

The number of nodes in the list is in the range [1, 100].
1 <= Node.val <= 100

Solution :

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)];
};
Enter fullscreen mode Exit fullscreen mode

Oldest comments (0)