List

Jimmy (xiaoke) Shen
1 min readApr 8, 2020

--

203. Remove Linked List Elements

Recursive

class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
if head is None:return None
head.next = self.removeElements(head.next, val)
return head.next if head.val==val else head

Iterative

class Solution:
def removeElements(self, head: ListNode, val: int) -> ListNode:
dummy = ListNode(-1)
dummy.next = head
node = head
prev = dummy
while node is not None:
if node.val==val:
prev.next = node.next
node.next = None
node = prev.next
else:
prev = node
node = node.next
return dummy.next

--

--

No responses yet