Advertisement
Iam_Sandeep

Clone a graph

Jul 12th, 2022
920
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. """
  2. # Definition for a Node.
  3. class Node:
  4.    def __init__(self, val = 0, neighbors = None):
  5.        self.val = val
  6.        self.neighbors = neighbors if neighbors is not None else []
  7. """
  8. from collections import deque
  9. class Solution:
  10.    
  11.     def cloneGraph(self, node: 'Node') -> 'Node':
  12.         if node==None:
  13.             return None
  14.         elif len(node.neighbors)==0:
  15.             return Node(node.val)
  16.         q=deque()
  17.         q.append(node)
  18.         d={}
  19.         d[node.val]=Node(node.val)
  20.         while q:
  21.             top=q.popleft()
  22.             for nei in top.neighbors:
  23.                 if nei.val not in d:
  24.                     d[nei.val]=Node(nei.val)
  25.                     d[top.val].neighbors.append(d[nei.val])
  26.                     q.append(nei)
  27.                 else:
  28.                     d[top.val].neighbors.append(d[nei.val])
  29.         return d[node.val]
  30.            
  31.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement