题目描述
AC代码
/*
解题思路:并查集
*/
class Solution {
int[] pre;
public int find(int x){
if(pre[x]!=x)
pre[x]=find(pre[x]);
return pre[x];
}
public int[] findRedundantConnection(int[][] edges) {
int n=edges.length;
pre=new int[n+1];
for(int i=0;i<=n;i++)
pre[i]=i;
int ans[]=new int[2];
for(int[] x:edges){
int a=x[0],b=x[1];
if(find(a)==find(b)){
ans[0]=a;ans[1]=b;
return ans;
}
//合并
pre[find(a)]=find(b);
}
return ans;
}
}