Skip to content

Commit d5abaa4

Browse files
committed
week 08 clone-graph
1 parent d336f17 commit d5abaa4

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

clone-graph/HYUNAHKO.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
13+
if not node:
14+
return None
15+
16+
visited = {}
17+
18+
def dfs(node: 'Node') -> 'Node':
19+
if node.val in visited:
20+
return visited[node.val]
21+
22+
# 노드 복제
23+
cloned_node = Node(node.val)
24+
visited[node.val] = cloned_node
25+
26+
# 이웃들 복제
27+
for neighbor in node.neighbors:
28+
cloned_neighbor = dfs(neighbor)
29+
cloned_node.neighbors.append(cloned_neighbor)
30+
31+
return cloned_node
32+
33+
return dfs(node)

0 commit comments

Comments
 (0)