Skip to content

Commit e31317f

Browse files
committed
feat: Solve clone-graph problem
1 parent c784f39 commit e31317f

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

clone-graph/hu6r1s.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""
2+
# Definition for a Node.
3+
class Node:
4+
def __init__(self, val = 0, neighbors = None):
5+
self.val = val
6+
self.neighbors = neighbors if neighbors is not None else []
7+
"""
8+
9+
from typing import Optional
10+
class Solution:
11+
def cloneGraph(self, node: Optional['Node']) -> Optional['Node']:
12+
if not node:
13+
return None
14+
15+
visited = [None] * 101
16+
17+
def dfs(n):
18+
if visited[n.val] is not None:
19+
return visited[n.val]
20+
21+
copy = Node(n.val, [])
22+
visited[n.val] = copy
23+
24+
for nei in n.neighbors:
25+
copy.neighbors.append(dfs(nei))
26+
return copy
27+
28+
return dfs(node)

0 commit comments

Comments
 (0)