diff --git a/linked_lists/remove_elements.py b/linked_lists/remove_elements.py new file mode 100644 index 0000000..ac32ff4 --- /dev/null +++ b/linked_lists/remove_elements.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + +def remove_elements(head, val): + + sentinel = ListNode(0) + sentinel.next = head + prev, current = sentinel, head + + while current: + if current.val == val: + prev.next = current.next + else: + prev = current + current = current.next + + return sentinel.next +