Find And Replace in String LeetCode solution in Java

1
class Solution {
2
public String findReplaceString(String s, int[] indices, String[] sources, String[] targets) {
3

4
HashMap<Integer, String> subst = new HashMap<>();
5
HashMap<Integer, String> tgt = new HashMap<>();
6

7
for (int i = 0; i < indices.length; i++) {
8
subst.put(indices[i], sources[i]);
9
tgt.put(indices[i], targets[i]);
10
}
11

12
Arrays.sort(indices);
13

14
String res = "";
15
int count = 0;
16
int avail[] = new int[indices.length];
17
for (int i = 0; i < s.length(); i++) {
18
if (count < indices.length
19
&& i == indices[count]
20
&& s.indexOf(subst.get(indices[count]), indices[count]) == indices[count]) {
21
res = res + "" + tgt.get(indices[count]);
22
i = i + subst.get(indices[count]).length() - 1;
23
count++;
24
} else {
25
if (count < indices.length && i == indices[count]) count++;
26
res += s.charAt(i);
27
}
28
}
29

30
return res;
31
}
32
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0