28.实现strStr()
- 不用string类的函数
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
双指针
- 一个指针遍历haystack字符串,一个指针遍历needle,如果第二个指针遍历完就是存在,不存在注意返回第一个指针的位置。
class Solution {
public:
int strStr(string haystack, string needle) {
if(needle.size()==0) return 0;
else if(haystack.size()==0) return -1;
int i=0,j=0;
while(i<haystack.size() && j<needle.size()){
if(haystack[i]==needle[j]){
i++;
j++;
}
else{
i=i-j+1;
j=0;
}
}
if(j==needle.size()) return i-needle.size();
return -1;
}
};
通过时间:

双指针法实现strStr()函数
本文介绍了一种不使用string类函数实现strStr()的方法,通过双指针遍历haystack和needle字符串,查找needle在haystack中首次出现的位置。详细解析了算法流程及其实现代码。
702

被折叠的 条评论
为什么被折叠?



