先抛问题1:如果我们已知一个字符str的最大公共前后缀长度,当这个str再添加一个字符的str2,如何判断这个新的str2的最大公共前后缀长度??
结论:只要将新添加的字符,与str的最大公共前后缀中前缀的下一个元素比较即可。如果相同最大公共前后缀长度+1;
例子:str = ABCA 最大前后缀 前缀A, 位置0
str2 = str+ B = ABCAB
那么只要比较 前缀 A的下一位B 与新添加的元素B是否相同 。不用再比较前面AB与后面AB是否相同(理解这个是重点)
str = ABCA str2 = str+ B = ABCAB 比较两个红色的B 。
那么问题2: 如果上面两个B不相容 该怎么判断。