前几天百度LBS部门实习二面,让写一个字符串匹配函数,当时忘记KMP怎么写了,就默默的写了一个暴力搜索,连尝试推导一下KMP都没有,结果自然是没有过,以后面试要多和面试官交流,就算忘记了,也要让他知道你试图推导,要不然他会觉得你可能都没有听过。
KMP是对前缀暴力搜索的改进,基于的想法其实是很朴素的。首先我们来看一下暴力搜索。
char* BF(char *src, char *pattern){ if(src == NULL || pattern == NULL) return NULL; char *src_temp = src, *pattern_temp = pattern; while(*src_temp != '