注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
在做leetcode133题的时候,用到 UndirectedGraphNode, 在 leetcode 显示UndirectedGraphNode is not defined, 在lintcode能通过,有人知道这是怎么回事吗?我复制粘贴了一下discuss里别人用到UndirectedGraphNode也是不行
代码如下:- from collections import deque
- class Solution:
- def cloneGraph(self, node: 'Node') -> 'Node':
- root = node
- if node is None:
- return None
-
- #get all the node
- nodes = self.get_nodes(node)
-
- #mapping
- mapping = {}
- for node in nodes: #old node
- mapping[node] = UndirectedGraphNode(node.label) #this is new
-
- #copy all the neighbors
- for node in nodes:
- new_node = mapping[node]
- for neighbor in node.neighbors:
- new_neighbor = mapping[neighbor]
- new_node.neighbors.append(new_neighbor)
-
- return mapping[root]
-
- def get_nodes(self,node):
-
- queue = deque([node])
- result = set([node])
- while queue:
- head = queue.popleft()
- for neighbor in head.neighbors:
- if neighbor in result:
- continue
- result.add(neighbor)
- queue.append(neighbor)
- return result
- # code idea 来自[url]https://www.jiuzhang.com/solution/clone-graph/#tag-highlight-lang-python[/url]
复制代码
|