在使用KMP算法进行字符串匹配时,已知模式串T的next数组为[0, 0, 1, 2],文本串S为'abcabcabc',从文本串的第4个字符开始匹配模式串,匹配过程中,若当前文本字符与模式字符不匹配,接下来应该跳转到文本串的哪个位置?

答案解析

在KMP算法中,当文本字符与模式字符不匹配时,需要根据next数组来决定跳转的位置。当前文本字符为'S[4]',若与'T[1]'不匹配,则根据next数组的值,j会被设置为next[j-1],即next[1]=0,因此i保持不变,j跳转到0,文本指针i仍然指向4,模式指针j指向1。此时,文本指针i指向的字符仍然是文本串的第4个字符,因此答案是A. 4。
正确答案:A
随机推荐
开始刷题