如何利用KMP的next求字符串的循環節

利用KMP算法中的next值可以求出字符串的循環節,如ababab的循環節爲ab,abcd的循環節爲abcd,具體做法如下:假設字符串的長度爲len,next[len]爲字符串的最後一個字符的下一個字符的next值(下標從0開始),如果len % (len - next[len]) == 0,那麼循環節的循環次數爲len / (len - next[len]),否則爲1,爲什麼呢?詳細說明如下:
相關文章
相關標籤/搜索