15 Jun 2024C++ / Python / TypeScriptEasy

Remove Linked List Elements

Collected C++, Python, TypeScript solutions for remove linked list elements. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Remove Linked List Elements. the solution files are available below.

solution files

  • C++ remove-linked-list-elements/synced-solution.cpp
  • Python remove-linked-list-elements/synced-solution.py
  • TypeScript remove-linked-list-elements/synced-solution.ts

Solution files

Pythonremove-linked-list-elements/synced-solution.py
class ListNode:
    def __init__(self, val=class="syntax-number">0, next=None):
        self.val = val
        self.next = next

def removeElements(head: ListNode, val: int) -> ListNode:
    dummy = ListNode(class="syntax-number">0)
    dummy.next = head
    current = dummy

    while current.next:
        if current.next.val == val:
            current.next = current.next.next
        else:
            current = current.next

    return dummy.next
C++remove-linked-list-elements/synced-solution.cpp
class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode* dummy = new ListNode(class="syntax-number">0);
        dummy->next = head;
        ListNode* current = dummy;

        while (current->next) {
            if (current->next->val == val) {
                current->next = current->next->next;
            } else {
                current = current->next;
            }
        }

        return dummy->next;
    }
};
TypeScriptremove-linked-list-elements/synced-solution.ts
function removeElements(head: ListNode | null, val: number): ListNode | null {
    const dummy = new ListNode(class="syntax-number">0);
    dummy.next = head;
    let current = dummy;

    while (current.next) {
        if (current.next.val === val) {
            current.next = current.next.next;
        } else {
            current = current.next;
        }
    }

    return dummy.next;
}