Knuth Morris Pratt KMP Algorithm
KMP-Example