给定字符串:abcd
真字串:"","a","b","c","d","ab","bc""cd""abc""bcd"
子串:"","a","b","c","d","ab","bc""cd""abc" "bcd",“abcd"
1.字符串匹配之BF思路:
定义i指向主串,j指向子串,如果i指向的字符和j指向的字符相等,则i++,j++,如果不相等,j回退到开始位置,i回退到这一趟开始位置的下一个位置,接着去匹配。
如图给定主串ababcabcdabcde 子串abcd
退出条件:如果i或j走出自身范围,则表示越界了,越界退出后,只需要判断j是否走出自身范围 如果j走出自身范围,代表找到了,return i-j(返回下标);如果j未走出自身范围,则没找到,范围错误标记-1。
2.代码实现
//pos代表主串从哪一个位置开始向后搜索子串
i