public String addBoldTag(String s, String[] dict) {
if (dict == null || dict.length == 0) {
boolean[] addBold = new boolean[n];
for (int i = 0, end = 0; i < s.length(); i++) {
for (String word : dict) {
if (s.startsWith(word, i)) {
end = Math.max(i + word.length(), end);
StringBuilder res = new StringBuilder();
for (int i = 0; i < n; i++) {
while (j < n && addBold[j]) j++;
res.append("<b>").append(s.substring(i, j)).append("</b>");