前往
大廳
主題

LeetCode - 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence 解題心得

Not In My Back Yard | 2023-01-08 12:00:20 | 巴幣 0 | 人氣 168

題目連結:


題目意譯:
給定一個由若干個彼此之間由單一一個空白隔開的字詞所組成的句子,以及一個 searchWord,檢查 searchWord 是否為句子中任何字詞的前綴。

回傳句子中字詞的索引值(索引值從 1 開始),其中 searchWord 為該字詞的前綴。如果 searchWord 為多於一個字詞的前綴,則回傳第一個字詞(索引值最小的)的索引值。如果不存在這樣子的字詞,則回傳 -1。


一個字串 s 的前綴為 s 中任何的前導連續子字串。

限制:
1 ≦ sentence.length ≦ 100
1 ≦ searchWord.length ≦ 10
sentence 由小寫英文字母和空白所組成。
searchWord 由小寫英文字母所組成。



範例測資:
範例 1:
輸入: sentence = "i love eating burger", searchWord = "burg"
輸出: 4
解釋: "burg" 為 "burger" 的前綴,其為句子中第 4 個字詞。

範例 2:
輸入: sentence = "this problem is an easy problem", searchWord = "pro"
輸出: 2
解釋: "pro" 為 "problem" 的前綴,其為句子中第 2 和第 6 個字詞。但我們將回傳 2,因為其為最小的索引值。

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


解題思維:
以前有提及過 C++ 的 stringstream 物件(如這題),本題剛好可以拿來使用將 sentence 分成好幾個字詞(因為 stringstream 輸出時會吃掉空白字元)。看這些字詞是不是有人是以 searchWord 開頭即可。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作