Merge pull request #895 from hailincai/patch1104_01

0028. 实现strstr.md
This commit is contained in:
程序员Carl
2021-11-16 12:40:12 +08:00
committed by GitHub

View File

@ -117,7 +117,7 @@ next数组就是一个前缀表prefix table
此时就要问了**前缀表是如何记录的呢?**
首先要知道前缀表的任务是当前位置匹配失败,找到之前已经匹配上的位置,重新匹配,此也意味着在某个字符失配时,前缀表会告诉你下一步匹配中,模式串应该跳到哪个位置。
首先要知道前缀表的任务是当前位置匹配失败,找到之前已经匹配上的位置,重新匹配,此也意味着在某个字符失配时,前缀表会告诉你下一步匹配中,模式串应该跳到哪个位置。
那么什么是前缀表:**记录下标i之前包括i的字符串中有多大长度的相同前缀后缀。**
@ -145,7 +145,7 @@ next数组就是一个前缀表prefix table
# 为什么一定要用前缀表
这就是前缀表那为啥就能告诉我们 上次匹配的位置,并跳过去呢?
这就是前缀表那为啥就能告诉我们 上次匹配的位置,并跳过去呢?
回顾一下刚刚匹配的过程在下标5的地方遇到不匹配模式串是指向f如图
<img src='https://code-thinking.cdn.bcebos.com/pics/KMP%E7%B2%BE%E8%AE%B21.png' width=600 alt='KMP精讲1'> </img></div>