From 0d1134dac8d7f6633e49122d04e246c7a3cfa5f5 Mon Sep 17 00:00:00 2001 From: dbring Date: Wed, 4 Oct 2023 19:03:57 -0700 Subject: [PATCH] Fixed file name and removed a function call --- ...{deep-clone-graph.py => deep_clone_graph.py} | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) rename graphs/{deep-clone-graph.py => deep_clone_graph.py} (72%) diff --git a/graphs/deep-clone-graph.py b/graphs/deep_clone_graph.py similarity index 72% rename from graphs/deep-clone-graph.py rename to graphs/deep_clone_graph.py index 0ddf0cf70..90465f4ed 100644 --- a/graphs/deep-clone-graph.py +++ b/graphs/deep_clone_graph.py @@ -17,7 +17,7 @@ class Node: self.neighbors = neighbors if neighbors is not None else [] -def clone_graph(node: Node | None) -> None | None: +def clone_graph(node: Node | None) -> Node | None: """ This function returns a clone of a connected undirected graph. >>> clone_graph(Node(1)) @@ -33,6 +33,10 @@ def clone_graph(node: Node | None) -> None | None: originals_to_clones = {} # map nodes to clones def create_clones(node: Node) -> None: + """ + This helper function populates the originals_to_clones map with + the original nodes in the graph mapped to newly created clones. + """ if node in originals_to_clones: return @@ -43,13 +47,10 @@ def clone_graph(node: Node | None) -> None | None: create_clones(node) - def connect_clones_to_cloned_neighbors() -> None: - for original, clone in originals_to_clones.items(): - for neighbor in original.neighbors: - cloned_neighbor = originals_to_clones[neighbor] - clone.neighbors.append(cloned_neighbor) - - connect_clones_to_cloned_neighbors() + for original, clone in originals_to_clones.items(): + for neighbor in original.neighbors: + cloned_neighbor = originals_to_clones[neighbor] + clone.neighbors.append(cloned_neighbor) return originals_to_clones[node]