Remove Linked List Elements - JS

Remove all elements from a linked list of integers that have value val.

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

Tags
LinkedList
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} val
 * @return {ListNode}
 */
var removeElements = function (head, val) {
    if (head === null) {
        return head;
    }

    // ********** If we need to remove the first element
    if (head.val === val) {
        return removeElements(head.next, val);
    }

    var node = head;
    var prev = null;
    while (node) {
        if (node.val === val) {
            prev.next = node.next;
            node = prev.next;
        } else {
            prev = node;
            node = node.next;
        }
    }

    return head;
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章