Q:给定字符串str和s,判断s是否在str中出现,如果出现则返回第一次出现时的索引
朴素匹配(简单匹配)算法即暴力搜索,逐字符比较字符str[i]与s[j]是否相等,直至i或者j超出边界。
int indexOfSubString(string& str, string& subStr){int n=str.length(), m=subStr.length();if(n < m){// 主串比子串短return -1;}else{int i=0, j=0;while(i+j<n && j<m){if(str[i+j] == subStr[j]){// 字符相同则同时前进一步,准备比较下一个字符j++;}else{// 字符不相同则j归零,子串重新匹配i++;j=0;}}if(j>=m){// 子串到达边界,证明子串存在于主串中return i;}else{return -1;}}}
