图的解法
1、BFS
2、DFS
3、并查集
并查集
例题:
交换字符串中的元素
1、初始化:每个节点的祖先节点都是自己
2、根据题意两两建立关系 ,在建立关系的同时,合并朋友圈【一边建立关系,一边寻找祖先】
for (int i = 0; i < pairs.size(); i++) { // 根据题意 两两建立亲子关系
int a = FindRoot(pairs[i][0], pre);
int b = FindRoot(pairs[i][1], pre);
//cout << a << b << endl;
if (a != b) {
pre[a] = b;
}
}
3、根据题意接着分析其他的