LeetCode--28 实现strStr() ( Implement strStr() ) ( C语言版 )
程序员文章站
2022-04-10 23:54:01
...
题目描述 :
代码如下 :
int strStr(char* haystack, char* needle) {
int hlen=strlen(haystack);
int nlen=strlen(needle);
//如果needle为空字符串,则nlen为0,返回0
if(nlen==0)
return 0;
//注意之处,i的边界时小于hlen-nlen,否则会在后边的比较中出现越界的后果
//当两个字符串长度相等时,也有可能满足条件,所以这里的i要小于等于hlen-nlen
for(int i=0;i<=hlen-nlen;i++){
//设置一个flag作为标记
int flag=1;
int ret=i;
for(int j=0;j<nlen;j++){
//如果存在不相等flag置0,跳出当前循环
if(haystack[ret++]!=needle[j]){
flag=0;
break;
}
flag=1;
}
//如果flag为1,证明满足条件,返回i
if(flag==1)
return i;
}
return -1;
}
若有出错或不懂的地方, 欢迎留言, 共同进步 !
上一篇: 豌豆炒肉怎么炒,教你一个妙招
下一篇: 在.Net Core中记录日志