5
public String smallestStringWithSwaps(String s, List<List<Integer>> pairs) {6
parent = new int[s.length()];7
rank = new int[s.length()];8
for (int i = 0; i < parent.length; i++) {13
// Union of All Pairs who belongs to same set14
for (List<Integer> l : pairs) {25
// To get the Character in sorted order26
PriorityQueue<Character>[] pq = new PriorityQueue[s.length()];27
for (int i = 0; i < pq.length; i++) {28
pq[i] = new PriorityQueue<>();31
for (int i = 0; i < s.length(); i++) {33
char ch = s.charAt(i);37
StringBuilder sb = new StringBuilder();38
for (int i = 0; i < s.length(); i++) {40
char ch = pq[il].remove();51
parent[x] = find(parent[x]);56
void union(int x, int y) {57
if (rank[x] < rank[y]) {59
} else if (rank[y] < rank[x]) {