2021 1 27 刷題(KMP字串匹配)

2022-06-11 12:24:11 字數 623 閱讀 9569

題目描述:

實現 strstr() 函式。

給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 (從0開始)。如果不存在,則返回  -1。

示例 1:

輸入: haystack = "hello", needle = "ll"

輸出: 2

示例 2:

輸入: haystack = "aaaaa", needle = "bba"

輸出: -1

解題:

class solution 

if(pattern[j] == pattern[i])

}return prefix;

}// //prefix表右移一位,得next表

// void next(vectorprefix, int n)

// // prefix[0] = -1;

// }

int strstr(string haystack, string needle)

if(haystack[i] == needle[j])}}

return -1;

}};

AcWing刷題 KMP字串(經典)

給定乙個模式串 s s 以及乙個模板串 p p 所有字串中只包含大小寫英文本母以及阿拉伯數字。模板串 p s p 在模式串 s 中多次作為子串出現。求出模板串 p s p s 在模式串 s 中所有出現的位置的起始下標。輸入格式 第一行輸入整數 ns p s s 表示字串 p 的長度。第二行輸入字串 ...

字串刷題

刷題總結 kuangbin帶你飛 專題十六 kmp 擴充套件kmp manacher cloned a kmp模板題 include using namespace std typedef long long ll const int ma 1e6 5 int p ma int m ma int n...

字串刷題ing

給定乙個字串,逐個翻轉字串中的每個單詞。示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello world 輸出 world hello 解釋 輸入字串可以在前面或者後面包含多餘的空格,但是反轉後的字元不能包括。示例 3 輸入 a good ...