摘要: 问题:实现 strStr() 函数。即在 haystack 中匹配 needle 字符串。 可以理解为,实际上这道题是在问如何实现 KMP(Knuth–Morris–Pratt) 算法。 阅读全文
posted @ 2015-12-25 23:51 TonyYPZhang 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 假设要在 haystack 中匹配 needle . 要理解 KMP 先需要理解两个概念 proper prefix 和 proper suffix,由于找到没有合适的翻译,暂时分别称真实前缀 和 真实后缀。 真实前缀(Proper prefix): 一个字符串中至少不包含一个尾部字符的前缀字符串。例如 "Snape" 的全部真实前缀是 “S”, “Sn”, “Sna”, and “Snap” . 真实后缀(Proper suffix): 一个字符串中至少不包含一个头部字符的后缀字符串。例如 “Hagrid” 的全部真实后缀是 “agrid”, “grid”, “rid”, “id”, and “d”. 阅读全文
posted @ 2015-12-25 23:39 TonyYPZhang 阅读(1297) 评论(0) 推荐(0) 编辑