[KMP string seraching algorithm added with O(n) complexity