LC 0203 [E] Remove Linked List Elements - ALawliet/algorithms GitHub Wiki

class Solution:
    def removeElements(self, head: ListNode, val: int) -> ListNode:
        dum = ListNode(-1)
        dum.next = head
        
        prev = dum
        cur = head
        while cur:
            if cur.val == val:
                prev.next = cur.next # skip over it
            else:
                prev = cur
            cur = cur.next
        
        return dum.next
class Solution:
    def removeElements(self, head, val):
        dum = ListNode(-1)
        dum.next = head
        
        cur = dum
        while cur.next:
            if cur.next.val == val:
                cur.next = cur.next.next
            else:
                cur = cur.next
                
        return dum.next