网站开发报告,品牌建设及龙头企业,建站需求,html 网站根目录找出字符串第一个匹配项的下标
题目描述#xff1a; 题解思路#xff1a; 图上所示#xff0c;利用字符滑动#xff0c;如果匹配就字符开始移动#xff1b;如果不匹配成功#xff0c;则停止移动#xff0c;并回到字符串刚开始匹配的字符下标前一个#xff0c;为下一次…找出字符串第一个匹配项的下标
题目描述 题解思路 图上所示利用字符滑动如果匹配就字符开始移动如果不匹配成功则停止移动并回到字符串刚开始匹配的字符下标前一个为下一次进行字符匹配做好准备并将子字符串下标清理0
代码
int strStr(char* haystack, char* needle) {
int i 0;int j 0;int index 0;for (i 0, j 0; haystack[i] ! \0 needle[j] ! \0;){if (haystack[i] needle[j]){if (j 0) {index i;}j;i;}else{//回退到开始状态i i - j 1;j 0;}}if (needle[j] ! \0) {return -1;}else {return index;}
}官方题解
int strStr(char* haystack, char* needle) {int n strlen(haystack), m strlen(needle);for (int i 0; i m n; i) {bool flag true;for (int j 0; j m; j) {if (haystack[i j] ! needle[j]) {flag false;break;}}if (flag) {return i;}}return -1;
}