Skip to content

Commit 1743351

Browse files
author
sejineer
committed
clone-graph solution
1 parent c6d199d commit 1743351

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

clone-graph/sejineer.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""
2+
시간 복잡도: O(V + E) V: 노드 개수, E: 간선 개수
3+
공간 복잡도: O(V)
4+
"""
5+
from collections import deque
6+
from typing import Optional
7+
class Solution:
8+
def cloneGraph(self, node: Optional['Node']) -> Optional['Node']:
9+
if not node:
10+
return
11+
12+
clone = Node(node.val)
13+
vis = {node: clone}
14+
queue = deque([node])
15+
16+
while queue:
17+
cur = queue.popleft()
18+
for nxt in cur.neighbors:
19+
if nxt not in vis:
20+
vis[nxt] = Node(nxt.val)
21+
queue.append(nxt)
22+
vis[cur].neighbors.append(vis[nxt])
23+
return clone

0 commit comments

Comments
 (0)