public bool ValidTree(int n, int[,] edges) { // 作为一棵树,节点的个数肯定比边数目大1 if (n - 1 != edges.GetLength(0)) { return(false); } UnionFind uf = new UnionFind(n); for (int i = 0; i < edges.GetLength(0); i++) { int parent_x = uf.CompressFind(edges[i, 0]); int parent_y = uf.CompressFind(edges[i, 1]); if (parent_x == parent_y) { return(false); } uf.Union(parent_x, parent_y); } return(true); }