LeetCode.28 - 找出字符串中第一个匹配项的下标
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。
简单思路
- 常规遍历比较,时间复杂度 O(m * n)
1 | var strStr = function (haystack, needle) { |
优化
- KMP 算法,时间复杂度 O(m + n)
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。
1 | var strStr = function (haystack, needle) { |