File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed
Sprint-2/implement_linked_list Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -31,13 +31,17 @@ def pop_tail(self):
3131 else :
3232 self .head = None
3333 self .tail = None
34+ node .previous = None
35+ node .next = None
3436 return node .value
3537
3638 def remove (self , node ):
3739 if self .head == node :
3840 if self .tail == node :
3941 # head == node, tail == node
4042 self .head = self .tail = None
43+ node .previous = None
44+ node .next = None
4145 else :
4246 # head == node, tail != node
4347 self .head = node .next
Original file line number Diff line number Diff line change @@ -42,6 +42,21 @@ def test_remove_last(self):
4242 l .remove (a )
4343 l .remove (b )
4444 self .assertIsNone (a .next )
45+ self .assertIsNone (a .previous )
46+ self .assertIsNone (b .next )
47+ self .assertIsNone (b .previous )
48+ self .assertIsNone (l .head )
49+ self .assertIsNone (l .tail )
50+
51+ def test_pop_last_tail (self ):
52+ l = LinkedList ()
53+ a = l .push_head ("a" )
54+ b = l .push_head ("b" )
55+ c = l .push_head ("c" )
56+ l .remove (a )
57+ l .remove (c )
58+ l .pop_tail ()
59+ self .assertIsNone (b .next )
4560 self .assertIsNone (b .previous )
4661 self .assertIsNone (l .head )
4762 self .assertIsNone (l .tail )
You can’t perform that action at this time.
0 commit comments