← Graph Exploration

Micro-Drill #233 — Clone graph (DFS + hashmap)

Graph Exploration Target: 10s

HashMap maps original → clone. DFS creates clone before recursing neighbors to handle cycles.

def cloneGraph(node):
    if not node: return None
    cloned = {}
    def dfs(n):
        if n in cloned: return cloned[n]
        copy = Node(n.val)
        cloned[n] = copy
        for nb in n.neighbors:
            copy.neighbors.append(dfs(nb))
        return copy
    return dfs(node)

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #232 Micro #234 →