我的十次面試挑戰(第二次)

在這裏插入圖片描述

public String boldWords(String[] words, String s) {

        Boolean[] arr2 = new Boolean[s.length()];
        for (int i = 0; i < words.length; i++) {
            int z = 0;
            while (s.indexOf(words[i], z) != -1) {
                int start = s.indexOf(words[i]);
                int end = start + words[i].length();
                for (int j = start; j <= end; j++) {
                    arr2[j] = true;
                }
                z = end;
            }
        }
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < s.length(); i++) {
            if (arr2[i] == true && (i == 0 || arr2[i - 1] == false)) {
                sb.append("<b>");
            }
            if (i > 0 && arr2[i] == false && arr2[i - 1] == true) {
                sb.append("</b>");
            }
            sb.append(s.charAt(i));

        }
        if (arr2[s.length() - 1] == true) {
            sb.append("</b>");
        }

        return sb.toString();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章