leetcode 5416. 檢查單詞是否爲句中其他單詞的前綴

【題目】5416. 檢查單詞是否爲句中其他單詞的前綴

給你一個字符串 sentence 作爲句子並指定檢索詞爲 searchWord ,其中句子由若干用 單個空格 分隔的單詞組成。
請你檢查檢索詞 searchWord 是否爲句子 sentence 中任意單詞的前綴。
如果 searchWord 是某一個單詞的前綴,則返回句子 sentence 中該單詞所對應的下標(下標從 1 開始)。
如果 searchWord 是多個單詞的前綴,則返回匹配的第一個單詞的下標(最小下標)。
如果 searchWord 不是任何單詞的前綴,則返回 -1 。
字符串 S 的 「前綴」是 S 的任何前導連續子字符串。

示例 1:

輸入:sentence = "i love eating burger", searchWord = "burg"
輸出:4
解釋:"burg" 是 "burger" 的前綴,而 "burger" 是句子中第 4 個單詞。

示例 2:

輸入:sentence = "this problem is an easy problem", searchWord = "pro"
輸出:2
解釋:"pro" 是 "problem" 的前綴,而 "problem" 是句子中第 2 個也是第 6 個單詞,但是應該返回最小下標 2 。

示例 3:

輸入:sentence = "i am tired", searchWord = "you"
輸出:-1
解釋:"you" 不是句子中任何單詞的前綴。

示例 4:

輸入:sentence = "i use triple pillow", searchWord = "pill"
輸出:4

示例 5:

輸入:sentence = "hello from the other side", searchWord = "they"
輸出:-1

提示:
1 <= sentence.length <= 100
1 <= searchWord.length <= 10
sentence 由小寫英文字母和空格組成。
searchWord 由小寫英文字母組成。
前綴就是緊密附着於詞根的語素,中間不能插入其它成分,並且它的位置是固定的——-位於詞根之前。(引用自 前綴_百度百科 )

【解題思路1】

class Solution {
    public int isPrefixOfWord(String sentence, String searchWord) {
        int len = searchWord.length();
        char[] sword = searchWord.toCharArray();
        String[] word = sentence.split("\\s+");
        for(int i = 0; i < word.length; i++){
            if(len > word[i].length()){
                continue;
            }
            int j = 0;
            for(j = 0; j < len; j++){
                if(word[i].charAt(j) != sword[j]){
                    break;
                }
            }
            if(j == len){
                return i + 1;
            }
        }
        return -1;
    }
}

內層循環判斷前綴和可以調用函數s.startsWith()

class Solution {
    public int isPrefixOfWord(String sentence, String searchWord) {
        int ret = -1;
        String[] strings = sentence.split(" ");
        for (int i = 0; i < strings.length; i++) {
            String string = strings[i];
            if (string.startsWith(searchWord)) {
                return i + 1;
            }
        }
        return ret;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章