Skip to content

Commit a76fb2b

Browse files
committed
Added length instance variable to keep track of length as items are added/removed.
Fixes Issue: TheAlgorithms#5315
1 parent ca842b4 commit a76fb2b

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

data_structures/linked_list/singly_linked_list.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def __repr__(self):
1010
class LinkedList:
1111
def __init__(self):
1212
self.head = None
13-
13+
self.length = 0
1414
def __iter__(self):
1515
node = self.head
1616
while node:
@@ -36,8 +36,7 @@ def __len__(self) -> int:
3636
>>> len(linked_list)
3737
0
3838
"""
39-
return len(tuple(iter(self)))
40-
39+
return self.length
4140
def __repr__(self):
4241
"""
4342
String representation/visualization of a Linked Lists
@@ -116,6 +115,7 @@ def insert_nth(self, index: int, data) -> None:
116115
temp = temp.next
117116
new_node.next = temp.next
118117
temp.next = new_node
118+
self.length+=1
119119

120120
def print_list(self) -> None: # print every node data
121121
print(self)
@@ -138,6 +138,7 @@ def delete_nth(self, index: int = 0):
138138
temp = temp.next
139139
delete_node = temp.next
140140
temp.next = temp.next.next
141+
self.length-=1
141142
return delete_node.data
142143

143144
def is_empty(self) -> bool:

0 commit comments

Comments
 (0)