THN Interview Prep

876. Middle of the Linked List

At a Glance

  • Topic: Linked List
  • Pattern: Fast & Slow Pointers
  • Difficulty: Easy
  • LeetCode: 876

Problem Statement

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

Approach & Solution Steps

Use slow and fast pointers. Advance slow by one step and fast by two steps. When fast reaches the end, slow will be at the middle.

Optimal JS Solution

function middleNode(head) {
  let slow = head, fast = head;
  while (fast && fast.next) {
    slow = slow.next;
    fast = fast.next.next;
  }
  return slow;
}

Edge Cases & Pitfalls

  • Always consider empty or null inputs.
  • Watch out for off-by-one index errors.

Mark this page when you finish learning it.

Last updated on

Spotted something unclear or wrong on this page?

On this page