Skip to content

Commit 202c582

Browse files
committed
implemented requested changes
1 parent 1e30d3d commit 202c582

File tree

1 file changed

+19
-26
lines changed

1 file changed

+19
-26
lines changed

Sprint-2/implement_linked_list/linked_list.py

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,44 +20,39 @@ def __init__(self):
2020
self.head = None
2121
self.tail=None
2222
self.tracker_number = 0
23-
self.our_list = []
24-
2523

2624
def push_head(self, item_to_insert):
27-
# assign so gets updated
28-
id_for_this_particular_item = self.tracker_number
29-
# //wrap item to unsert in {}
30-
wrapped_item = Node(id_for_this_particular_item, item_to_insert)
25+
# //wrap item to insert in {}
26+
wrapped_item = Node(None, item_to_insert)
3127

32-
if self.head is None:
28+
if not self.head:
3329
self.head = self.tail = wrapped_item
3430
else:
3531
wrapped_item.next = self.head
3632
self.head.prev = wrapped_item
3733
self.head = wrapped_item
3834

39-
self.our_list.insert(0, wrapped_item)
35+
# self.our_list.insert(0, wrapped_item)
4036
self.tracker_number +=1
41-
return id_for_this_particular_item
37+
return wrapped_item
4238

4339
def remove(self, id_for_this_particular_item):
44-
for node in self.our_list:
45-
if node.tracker == id_for_this_particular_item:
46-
if node.prev:
47-
node.prev.next = node.next
48-
else:
49-
self.head = node.next
40+
node_to_remove = id_for_this_particular_item
41+
42+
if node_to_remove.prev:
43+
node_to_remove.prev.next = node_to_remove.next
44+
else:
45+
self.head = node_to_remove.next
46+
47+
if node_to_remove.next:
48+
node_to_remove.next.prev = node_to_remove.prev
49+
else:
50+
self.tail = node_to_remove.prev
5051

51-
if node.next:
52-
node.next.prev = node.prev
53-
else:
54-
self.tail = node.prev
52+
return node_to_remove.inserted_item_key
5553

56-
self.our_list.remove(node)
57-
return node.inserted_item_key
58-
5954
def pop_tail(self):
60-
if not self.our_list:
55+
if not self.tail:
6156
return None
6257

6358
old_tail = self.tail
@@ -67,7 +62,5 @@ def pop_tail(self):
6762
else:
6863
self.head = self.tail = None
6964

70-
if len(self.our_list) > 0:
71-
self.our_list.pop()
72-
return old_tail.inserted_item_key
65+
return old_tail.inserted_item_key
7366

0 commit comments

Comments
 (0)