Leetcode 203 Remove Linked List Elements

Silme işlemi için prev adında bir değişken oluştururuz.Amacımı current node önceki node’un elimizde olmasıdır.Eğer curren node silmek istersek tek yapacağımız önceki node’u next node bağlamak olacaktır.


# Definition for singly-linked list.
 class ListNode:
     def __init__(self, x):
         self.val = x
         self.next = None
        

    def removeElements(self, head: ListNode, val: int) -> ListNode:

        dummy = ListNode(next=head)
        prev, curr = dummy, head

        while curr:
            nxt = curr.next

            if curr.val == val:
                prev.next = nxt
            else:
                prev = curr
            curr = nxt
        return dummy.next