Skip to content

Commit 55d1eb5

Browse files
authored
Added CloneAGraph
1 parent f16dcf9 commit 55d1eb5

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Clonegraph.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Node:
2+
def __init__(self, value):
3+
self.value = value
4+
self.neighbors = []
5+
6+
def add(self, node):
7+
self.neighbors.append(node)
8+
9+
10+
visited = {}
11+
12+
def clone(node) -> Node:
13+
if node is None:
14+
return None
15+
new_node = Node(node.value)
16+
visited[node.val] = new_node
17+
for n in node.neighbors:
18+
if n.val not in visited:
19+
new_node.add(clone(n))
20+
else:
21+
new_node.add(visited[n.val])
22+
return new_node
23+

0 commit comments

Comments
 (0)