Skip to content
On this page
js
/**
 * @param {ListNode} head
 * @param {number} val
 * @return {ListNode}
 */
var removeElements = function (head, val) {
  let prev = new ListNode(undefined, head); //
  let cur = prev;
  // 我们以下个节点的值作为评判标准
  // 命中 则 cur.next = cur.next.next
  // 所以我们可以构造前置节点 来排除头节点的情况
  while (cur.next) {
    if (cur.next.val === val) cur.next = cur.next.next;
    else cur = cur.next;
  }

  return prev.next;
};

Released under the MIT License.