323. Number of Connected Components in an Undirected Graph
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public int countComponents(int n, int[][] edges) {
int[] root = new int[n];
for(int i = 0; i < n; i++) {
root[i] = i;
}
int count = n;
for(int[] edge: edges) {
int xRoot = getRoot(root, edge[0]);
int yRoot = getRoot(root, edge[1]);
if(xRoot != yRoot) {
count--;
root[xRoot] = yRoot;
}
}
return count;
}
private int getRoot(int[] root, int node) {
while(root[node] != node) {
root[node] = root[root[node]];
node = root[node];
}
return node;
}
}