教你如何手動求next陣列。
首先請看阮一峰老師的這篇文章。連結為http://blog.csdn.net/wusecaiyun/article/details/49281645
1.首先明白一個字串A的next陣列,其含義是什麼,比如說next[i]=1,就是說如果第i個字元(從1開始)與要匹配的字串不相等,那麼就把字串A向右滑動,拿A的第一個字元繼續與要匹配的字串進行匹配。
2.next陣列如何求?
next[i]陣列的值其實就等於串A1A2...Ai-1中相同的字首子串和字尾子串的最大長度加1。其中next陣列的第一個值一定為0。
相同的字首子串和字尾子串的最大長度的求法可以參見阮一峰的部落格。