Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- # Definition for a Node.
- class Node:
- def __init__(self, val = 0, neighbors = None):
- self.val = val
- self.neighbors = neighbors if neighbors is not None else []
- """
- from collections import deque
- class Solution:
- def cloneGraph(self, node: 'Node') -> 'Node':
- if node==None:
- return None
- elif len(node.neighbors)==0:
- return Node(node.val)
- q=deque()
- q.append(node)
- d={}
- d[node.val]=Node(node.val)
- while q:
- top=q.popleft()
- for nei in top.neighbors:
- if nei.val not in d:
- d[nei.val]=Node(nei.val)
- d[top.val].neighbors.append(d[nei.val])
- q.append(nei)
- else:
- d[top.val].neighbors.append(d[nei.val])
- return d[node.val]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement