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