mali 题库 · 编程题 · 难度:困难

P099 KMP 字符串匹配

标签:字符串、KMP

题目描述

读入主串 s 和模式串 t,使用 KMP 算法找 t 在 s 中第一次出现的起始下标(从 0 开始)。

若不存在,输出 -1。

要求:复杂度 O(|s| + |t|),不能使用 std::string::find 或朴素匹配。

约束条件

输入格式

两行字符串 s, t(1 \le |t| \le |s| \le 10^6),只含小写字母。

输出格式

第一次出现的起始下标,或 -1。

样例

输入:
ababcabcacbab
abcac

输出: 5

输入:
hello
xyz

输出: -1

知识点:KMP、next 数组

正在加载在线提交与判题界面…