LeetcodeJul 19, 2025

Remove Linked List Elements

Hazrat Ali

Leetcode

Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head.

 

Example 1:

Input: head = [1,2,6,3,4,5,6], val = 6
Output: [1,2,3,4,5]

Example 2:

Input: head = [], val = 1
Output: []

Example 3:

Input: head = [7,7,7,7], val = 7
Output: []


Solution
/**
 *
 * @param {ListNode} head
 * @param {number} val
 * @return {ListNode}
 */
const removeElements = (head, val) => {
  const dummy = new ListNode(0);
  let p = dummy;

  let node = head;
  while (node) {
    if (node.val !== val) {
      p.next = node;
      p = p.next;
    }
    node = node.next;
  }

  p.next = null;

  return dummy.next;
};


Comments