8000 Update and rename has_loop.py to has_duplicate_data.py · kanthuc/Python@519f71a · GitHub
[go: up one dir, main page]

Skip to content

Commit 519f71a

Browse files
authored
Update and rename has_loop.py to has_duplicate_data.py
1 parent 92578b0 commit 519f71a

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

data_structures/linked_list/has_loop.py renamed to data_structures/linked_list/has_duplicate_data.py

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,24 @@ class Node:
55
def __init__(self, data: Any) -> None:
66
self.data = data
77
self.next_node = None
8-
8+
99
def __iter__(self):
1010
node = self
1111
while node:
1212
yield node.data
1313
node = node.next_node
14-
15-
def has_loop(self) -> bool:
14+
15+
@property
16+
def has_duplicate_data(self) -> bool:
1617
>>> node1 = Node(1)
1718
>>> node1.next_node = Node(2)
1819
>>> node1.next_node.next_node = Node(3< FF32 /span>)
1920
>>> node1.next_node.next_node.next_node = Node(4)
21+
>>> node.has_duplicate_data
22+
False
2023
>>> node1.next_node.next_node.next_node = node1.next_node
21-
>>> has_loop(node1)
24+
>>> node.has_duplicate_data
2225
True
23-
24-
>>> node2 = Node(1)
25-
>>> node2.next_node = Node(2)
26-
>>> node2.next_node.next_node = Node(1)
27-
>>> node2.next_node.next_node.next_node = Node(2)
28-
>>> contains_loop(node2)
29-
False
3026
"""
3127
return len(list(self)) != len(set(self))
3228

@@ -37,15 +33,13 @@ def has_loop(self) -> bool:
3733
node1.next_node.next_node = Node(3)
3834
node1.next_node.next_node.next_node = Node(4)
3935
node1.next_node.next_node.next_node = node1.next_node
40-
print(has_loop(node1))
36+
print(node1.has_duplicate_data)
4137

4238
node2 = Node(5)
4339
node2.next_node = Node(6)
4440
node2.next_node.next_node = Node(5)
4541
node2.next_node.next_node.next_node = Node(6)
46-
print(has_loop(node2))
42+
print(node2.has_duplicate_data)
4743

4844
node3 = Node(1)
49-
# node3.next_node = Node(2)
50-
# node3.next_node.next_node = node3
51-
print(has_loop(node3))
45+
print(node3.has_duplicate_data)

0 commit comments

Comments
 (0)
0