力扣每日一题Day23
你不造就未来,就不能控制发生在你身上的事。
题目描述:
给你两个字符串 haystack
和 needle
,请你在 haystack
字符串中找出 needle
字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle
不是 haystack
的一部分,则返回 -1
。
解题代码:
1 | class Solution { |
解读与收获:
此题用的暴力匹配,还有更好的kmp算法,今晚懒不想写了,之后有空再说,暴力匹配即目标串和匹配串分别有一个下标指针,如果遇到匹配的字符,目标串和匹配串的下标一起移动,若匹配串下标等于匹配串长度减1,说明找到匹配段了,返回目标串下标减匹配串下标,就能得到第一个匹配项下标;如果在此过程中出现一个不匹配的字符,那目标串的下标要移动到开始第一个匹配字符的下一个,然后匹配串下标归零重新进行匹配,这也是该做法“暴力”所在,时间复杂度较高。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 驴の奇思妙想!
评论