Evaluate the Bracket Pairs of a String LeetCode solution in Java

1
class Solution {
2
public String evaluate(String s, List<List<String>> knowledge) {
3
Map<String, String> map = new HashMap<>();
4
for (List<String> ele : knowledge) {
5
map.put(ele.get(0), ele.get(1));
6
}
7
StringBuilder sb = new StringBuilder();
8
int b_start = -1;
9
for (int i = 0; i < s.length(); i++) {
10
if (s.charAt(i) == '(') {
11
b_start = i;
12
} else if (s.charAt(i) == ')') {
13
String key = s.substring(b_start + 1, i);
14
sb.append(map.getOrDefault(key, "?"));
15
b_start = -1;
16
} else {
17
if (b_start == -1) {
18
sb.append(s.charAt(i));
19
}
20
}
21
}
22
return sb.toString();
23
}
24
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0