(LeetCode 字串 難度簡單 1455題

2021-10-23 09:28:52 字數 1442 閱讀 6006

給你乙個字串 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

方法一:

istringstream 用法:將一句話分詞

istringstream 用法傳送門

然後將詞乙個乙個送到str,判斷str中是否存在目標字元searchword,用到的是string的函式find

str.find(searchword) == 0 ,這裡find返回的是searchword在str的中的位置,我們找的是字首,所以

位置為 0

find用法傳送門

class solution 

return -1;

}};

方法二:思路一樣,只是分詞的方式不一樣

class solution 

for(int i = 0;i < str.size();i ++)

if(str[i].find(searchword) == 0) return i + 1;

return -1;

}};

(LeetCode 字串 難度簡單 1108題

給你乙個有效的 ipv4 位址 address,返回這個 ip 位址的無效化版本。所謂無效化 ip 位址,其實就是用 代替了每個 示例 1 輸入 address 1.1.1.1 輸出 1 1 1 1 示例 2 輸入 address 255.100.50.0 輸出 255 100 50 0 解題思路 ...

(LeetCode 字串 難度簡單 1332題

給你乙個字串 s,它僅由字母 a 和 b 組成。每一次刪除操作都可以從 s 中刪除乙個回文子串行。返回刪除給定字串中所有字元 字串為空 的最小刪除次數。子串行 定義 如果乙個字串可以通過刪除原字串某些字元而不改變原字元順序得到,那麼這個字串就是原字串的乙個子串行。回文 定義 如果乙個字串向後和向前讀...

(LeetCode 字串 難度簡單38題

給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1 2.11 3.21 4.1211 5.111221 第一項是數字 1 描述前一項,這個數是 1 即 ...