题目
注意
示例
题解
1.1顺序查找
思路
先找第一个字母,再进行比对。
复杂度
时间:O((N−L)L)
空间:O(1)
代码
class Solution {
public:
int strStr(string haystack, string needle) {
int len1=haystack.length();
int len2=needle.length();
if(len2==0)//由定义
return 0;
int i(0),j(0);
while(i<len1)
{
if(haystack[i]==needle[j])
{
while(haystack[i+j]==needle[j]&&len1-i>=len2)//启动对比程序
{
++j;
if(j==len2)//注意细节
return i;
}
}
j=0;//迭代
++i;
}
return -1; }
};
执行用时: 0 ms
内存消耗: 6.6 MB