刷leetcode-day8
一、题目:
28. 实现strStr()函数
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例1:
示例2:
二、思路:
遍历haystack字符串,看是否存在needle[0]这个字符,若存在,再检测之后的needle.size()-1个字符是否与needle完全相同,若相同,则返回needle[0]的位置。
三、代码(C++):
int strStr(string haystack, string needle) {
int k=0;
if(needle=="")
return 0;
for(int i=0;i!=haystack.size();i++)
{
if(haystack[i]==needle[0])
{
for(int j=i;j!=(i+needle.size());j++)
{
if(haystack[j]!=needle[j-i])
break;
if(j==(i+needle.size()-1))
return i;
}
}
}
return -1;
}
四、扩展:
strstr(a,b)函数,检测字符串b是否是字符串a的字串,若是,返回b出现的第一个位置的地址。