### 261. Graph Valid Tree 题目: 难度 : Medium 思路: graph 为 tree 两个条件: - 这个图是connected - 没有cycle 偷懒AC代码,直接在323题,Number of Connected Components in an Undirected Graph上改的AC代码: ``` class Solution(object): def validTree(self, n, edges): """ :type n: int :type edges: List[List[int]] :rtype: bool """ def find(x): if uf[x] != x: uf[x] = find(uf[x]) return uf[x] def union(x,y): xRoot = find(x) yRoot = find(y) uf[xRoot] = yRoot uf = [i for i in range(n)] for node1, node2 in edges: # cycle exists if find(node1) == find(node2): print 'ha ' return False else: union(node1, node2) res = set() for i in range(n): res.add(find(i)) return len(res) == 1 ```