Skip to content

Commit e9e8abf

Browse files
Sean PrashadSean Prashad
authored andcommitted
Update 261_Graph_Valid_Tree.java
1 parent e74be85 commit e9e8abf

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

Graphs/261_Graph_Valid_Tree.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,31 @@ public boolean validTree(int n, int[][] edges) {
66
parents[i] = i;
77
}
88

9-
for (int i = 0; i < edges.length; i++) {
10-
if (!union(parents, edges[i][0], edges[i][1])) {
9+
for (int[] edge : edges) {
10+
int p1 = findParent(parents, edge[0]);
11+
int p2 = findParent(parents, edge[1]);
12+
13+
if (p1 == p2) {
1114
return false;
1215
}
16+
17+
union(parents, p1, p2);
1318
--n;
1419
}
1520

1621
return n == 1;
1722
}
1823

19-
private int find(int[] parents, int root) {
20-
if (parents[root] == root) {
21-
return root;
24+
private int findParent(int[] parents, int node) {
25+
if (parents[node] == node) {
26+
return parents[node];
2227
}
23-
return find(parents, parents[root]);
24-
}
2528

26-
private boolean union(int[] parents, int firstRoot, int secondRoot) {
27-
int parentOne = find(parents, firstRoot);
28-
int parentTwo = find(parents, secondRoot);
29-
30-
if (parentOne == parentTwo) {
31-
return false;
32-
}
29+
parents[node] = findParent(parents, parents[node]);
30+
return parents[node];
31+
}
3332

34-
parents[parentTwo] = parents[parentOne];
35-
return true;
33+
private void union(int[] parents, int p1, int p2) {
34+
parents[p2] = parents[p1];
3635
}
3736
}

0 commit comments

Comments
 (0)