@@ -14,22 +14,22 @@ def print_forward(self):
1414 raise Exception ("The linked list is empty" )
1515
1616 current_node = self .head
17- ll_str = str (self .head .data )
17+ ll_str = 'Head --> ' + str (self .head .data )
1818 while current_node :
19- ll_str += ' --> ' + str (current_node .next .data ) if current_node .next else ""
19+ ll_str += ' --> ' + str (current_node .next .data ) if current_node .next else ' --> None '
2020 current_node = current_node .next
2121 print ("Linked List:" , ll_str )
2222
2323 def print_backward (self ):
2424 if self .head is None :
2525 raise Exception ("The linked list is empty" )
2626 current_node = self .head
27- ll_str = ""
27+ ll_str = "Head <-- "
2828 while current_node :
2929 if current_node .next :
3030 ll_str += str (current_node .data ) + ' <-- '
3131 else :
32- ll_str += "" + str (current_node .data )
32+ ll_str += str (current_node .data ) + ' <-- None '
3333 current_node = current_node .next
3434 print ("Link list in reverse: " , ll_str )
3535
@@ -72,20 +72,19 @@ def insert_at_end(self, data):
7272 def insert_at (self , index , data ):
7373 if index < 0 or index > self .get_length ():
7474 raise Exception ("Invalid index had been given !!" )
75- if self .head is None :
76- if index == 0 :
77- self .head = Node (None , data , None )
78- return
79- else :
80- raise Exception ("The list is empty" )
75+ if index == 0 :
76+ new_node = Node (None , data , next = self .head )
77+ self .head = new_node
78+ return
8179 curr_ind = 0
8280 curr_node = self .head
8381 while curr_node :
8482 if curr_ind == index - 1 :
85- new_node = Node (curr_node . next , data , curr_node .next . prev )
83+ new_node = Node (prev = curr_node , data = data , next = curr_node .next )
8684 curr_node .next = new_node
8785 return
8886 curr_node = curr_node .next
87+ curr_ind += 1
8988
9089 def remove_at (self , index ):
9190 if index < 0 or index > self .get_length ():
0 commit comments