Skip to content

Commit 16aa7a6

Browse files
committed
Refactor pop_tail to reuse remove method
1 parent eef38b3 commit 16aa7a6

1 file changed

Lines changed: 7 additions & 10 deletions

File tree

Sprint-2/implement_linked_list/linked_list.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ def push_head(self, value):
1414
new_node = Node(value)
1515

1616
new_node.next = self.head
17+
1718
if self.head:
1819
self.head.previous = new_node
1920
else:
@@ -27,13 +28,7 @@ def pop_tail(self):
2728
return None
2829

2930
removed = self.tail
30-
31-
if self.tail.previous:
32-
self.tail = self.tail.previous
33-
self.tail.next = None
34-
else:
35-
self.head = None
36-
self.tail = None
31+
self.remove(removed)
3732

3833
return removed.value
3934

@@ -42,10 +37,12 @@ def remove(self, node):
4237
node.previous.next = node.next
4338
else:
4439
self.head = node.next
45-
if self.head:
46-
self.head.previous = None
4740

4841
if node.next:
4942
node.next.previous = node.previous
5043
else:
51-
self.tail = node.previous
44+
self.tail = node.previous
45+
46+
47+
node.previous = None
48+
node.next = None

0 commit comments

Comments
 (0)