Graph Valid Tree(bfs&uinion find)
Graph Valid Tree
Example
Notice
class Solution:
"""
@param n: An integer
@param edges: a list of undirected edges
@return: true if it's a valid tree, or false
"""
def validTree(self, n, edges):
# write your code here
if len(edges) != n-1:
return False
graph = {i:[] for i in range(n)}
# indegree = {i:0 for i in range(n)}
for e in edges:
graph[e[0]].append(e[1])
graph[e[1]].append(e[0])
# indegree[e[1]] += 1
q = [0]
ss = {0}
while q:
cur = q.pop(0)
for nn in graph[cur]:
if nn not in ss:
ss.add(nn)
q.append(nn)
return len(ss) == nLast updated