Problem List
O(n) O(n)func removeElements(head *ListNode, val int) *ListNode {
dummy := &ListNode{Val: 0, Next: head}
curr := dummy
if curr == nil {
return nil
}
for curr != nil {
for curr.Next != nil && curr.Next.Val == val {
if curr.Next != nil {
curr.Next = curr.Next.Next
} else {
curr.Next = nil
}
}
curr = curr.Next
}
return dummy.Next
}