File tree Expand file tree Collapse file tree
Sprint-2/implement_linked_list Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ class Node :
2+ def __init__ (self , value ):
3+ self .value = value
4+ self .next = None
5+ self .previous = None
6+
7+ class LinkedList :
8+ def __init__ (self ):
9+ self .head = None
10+ self .tail = None
11+
12+ def push_head (self , value ):
13+ node = Node (value )
14+ node .next = self .head
15+ if self .head :
16+ self .head .previous = node
17+ self .head = node
18+ if self .tail is None :
19+ self .tail = node
20+ return node
21+
22+ def pop_tail (self ):
23+ if self .tail is None :
24+ return None
25+ node = self .tail
26+ value = node .value
27+ if node .previous :
28+ self .tail = node .previous
29+ self .tail .next = None
30+ else :
31+ self .head = None
32+ self .tail = None
33+ return value
34+
35+ def remove (self , node ):
36+ if node .previous :
37+ node .previous .next = node .next
38+ else :
39+ self .head = node .next
40+ if node .next :
41+ node .next .previous = node .previous
42+ else :
43+ self .tail = node .previous
44+ node .next = None
45+ node .previous = None
You can’t perform that action at this time.
0 commit comments