克隆图
这道题我们需要用深度优先搜索来通过给定节点进行图的遍历,然后再拿一个dict去记录访问过的点就可以了
1234567891011121314151617
class Solution: visited = {} def cloneGraph(self, node: 'Node') -> 'Node': if node == None: return node #如果节点为空直接返回 if node in self.visited: return self.visited[node] #如果节点被访问则返回被访问的节点 cloneNode = Node(node.val) #储存已经访问过的节点 self.visited[node] = cloneNode #更新克隆节点的邻居 for neighbor in node.neighbors: cloneNode.neighbors.append(self.cloneGraph(neighbor)) return cloneNode