Connected Component in Undirected Graph
Last updated
Last updated
# Definition for a undirected graph node
# class UndirectedGraphNode:
# def __init__(self, x):
# self.label = x
# self.neighbors = []
class Solution:
# @param {UndirectedGraphNode[]} nodes a array of undirected graph node
# @return {int[][]} a connected set of a undirected graph
def connectedSet(self, nodes):
# Write your code here
isVisited = {}
for node in nodes:
isVisited[node.label] = False
result = []
for node in nodes:
if not isVisited[node.label]:
current = []
self.DFS(isVisited, node, current)
result.append(sorted(current))
return result
def DFS(self, isVisited, node, current):
isVisited[node.label] = True
current.append(node.label)
for neighbor in node.neighbors:
if not isVisited[neighbor.label]:
self.DFS(isVisited, neighbor, current)