务必非常熟悉 KMP 算法。

http://richardxx.yo2.cn/articles/kmp%e5%92%8cextend-kmp%e7%ae%97%e6%b3%95.html

http://richardxx.yo2.cn/articles/%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%b3%bb%e5%88%97%e7%ae%97%e6%b3%95%ef%bc%88%e4%b8%80%ef%bc%89.html

http://hi.baidu.com/%D2%D5%C1%D6010/blog/item/90b649cc8989365b0fb3453d.html

http://duanple.blog.163.com/blog/static/709717672009825004092/

http://duanple.blog.163.com/blog/static/70971767200982584340501/

http://duanple.blog.163.com/blog/static/7097176720098187218117/

http://blog.163.com/lqp18_31/blog/static/54182769200941694336590/