mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
@ -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>
|
||||
|
Reference in New Issue
Block a user