Skip to content

Commit 263e13c

Browse files
committed
Refactor pop_tail: use remove() for tail and clear its references
1 parent 8e8fd43 commit 263e13c

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Sprint-2/implement_linked_list/linked_list.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,14 @@ def pop_tail(self) -> any:
3232
if self.head is None:
3333
return None
3434
elif self.head==self.tail:
35-
node_value=self.head.value
36-
self.head=None
37-
self.tail=None
35+
node_to_remove = self.head
36+
node_value = node_to_remove.value
37+
self.remove(node_to_remove)
38+
3839
else:
39-
node_value=self.tail.value
40-
previous_node=self.tail.previous
41-
self.tail=previous_node
40+
node_to_remove = self.tail
41+
node_value = node_to_remove.value
42+
self.remove(node_to_remove)
4243
return node_value
4344

4445
def remove(self,node) -> None:
@@ -64,6 +65,5 @@ def remove(self,node) -> None:
6465
previous_node.next=next_node
6566
next_node.previous=previous_node
6667

67-
node_to_remove.next=None
68-
node_to_remove.previous=None
68+
6969

0 commit comments

Comments
 (0)