【算法基础】KMP字符串匹配算法⭐⭐⭐⭐

一、KMP算法介绍

https://blog.csdn.net/weixin_46007276/article/details/104372119

二、案例分析

(一)Question

1. 问题描述

给定一个字符串 S,以及一个模式串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P在字符串 S中多次作为子串出现。求出模式串 P在字符串 S中所有出现的位置的起始下标。

2. Input

第一行输入整数 N,表示字符串 P的长度。第二行输入字符串 P。第三行输入整数M,表示字符串 S的长度。第四行输入字符串 S。(1 ≤ N ≤ 105,1 ≤ M ≤ 106

3. Output

共一行,输出所有出现位置的起始下标(下标从 0 开始计数),整数之间用空格隔开。

4. Sample Input

3
aba
5
ababa

5. Sample Output

0 2

(二)题解

next数组求解

你可能感兴趣的:(算法,算法,c++,数据结构)