Leetcode 1455.檢查單詞是否爲句中其他單詞的前綴
1 題目描述(Leetcode題目鏈接)
給你一個字符串 sentence 作爲句子並指定檢索詞爲 searchWord ,其中句子由若干用 單個空格 分隔的單詞組成。
請你檢查檢索詞 searchWord 是否爲句子 sentence 中任意單詞的前綴。
- 如果 searchWord 是某一個單詞的前綴,則返回句子 sentence 中該單詞所對應的下標(下標從 1 開始)。
- 如果 searchWord 是多個單詞的前綴,則返回匹配的第一個單詞的下標(最小下標)。
- 如果 searchWord 不是任何單詞的前綴,則返回 -1 。
字符串 S 的 「前綴」是 S 的任何前導連續子字符串。
輸入:sentence = "i love eating burger", searchWord = "burg"
輸出:4
解釋:"burg" 是 "burger" 的前綴,而 "burger" 是句子中第 4 個單詞。
輸入:sentence = "this problem is an easy problem", searchWord = "pro"
輸出:2
解釋:"pro" 是 "problem" 的前綴,而 "problem" 是句子中第 2 個也是第 6 個單詞,但是應該返回最小下標 2 。
提示:
- 1 <= sentence.length <= 100
- 1 <= searchWord.length <= 10
- sentence 由小寫英文字母和空格組成。
- searchWord 由小寫英文字母組成。
- 前綴就是緊密附着於詞根的語素,中間不能插入其它成分,並且它的位置是固定的——-位於詞根之前。(引用自 前綴_百度百科 )
2 題解
正則匹配開頭。
class Solution:
def isPrefixOfWord(self, sentence: str, searchWord: str) -> int:
word = sentence.split()
for i in range(len(word)):
if re.match(searchWord, word[i]):
return i + 1
return -1