Skip to content

Commit 557171c

Browse files
committed
feat: implement remove node for linked list
1 parent d6fc4b0 commit 557171c

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

‎Sprint-2/implement_linked_list/linked_list.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,25 @@ def pop_tail(self):
3636
self.tail.next = None
3737
self.size -= 1
3838
return removed_value
39+
40+
def remove(self, node):
41+
if node == None:
42+
return
43+
if node == self.head and node == self.tail:
44+
self.head = None
45+
self.tail = None
46+
47+
elif node == self.head:
48+
self.head = self.head.next
49+
self.head.previous = None
50+
51+
elif node == self.tail:
52+
self.tail = self.tail.previous
53+
self.tail.next = None
54+
55+
else:
56+
node.next.previous = node.previous
57+
node.previous.next = node.next
58+
node.next = None
59+
node.previous = None
60+
self.size -= 1

0 commit comments

Comments
 (0)