1、题目
https://leetcode-cn.com/problems/redundant-connection/submissions/
2、题意
题解1:并查集
当前两个节点为一个集合时说明有环 返回这两个结果,否则合并p[a] = b;
class Solution {
public:
vector<int> p;
int find(int x)
{
return x==p[x]?x:p[x] = find(p[x]);
}
vector<int> findRedundantConnection(vector<vector<int>>& edges) {
int n = edges.size();
p = vector<int> (n+1,0);
for(int i=1;i<=n;i++)
p[i] = i;
for(int i=0;i<n;i++)
{
int a = edges[i][0],b = edges[i][1];
a = find(a),b = find(b);
if(a==b)
return {edges[i][0],edges[i][1]};
else
p[a] = b;
}
return {0, 0};
}
};