int BF(char str1[], char str2[]){ //字符串匹配(BP算法)
int i = 0, j = 0; //初始化两串
while(str1[i] && str2[j]){
if(str1[i] == str2[j]){ //当前字符匹配成功,两串同时右移
i++;
j++;
}
else{ //当前匹配失败,主串回溯至匹配前后一位置,子串返回初始位置
i = i - j +1;
j = 0;
}
}
if(str2[j] == '\0') //如果子串遍历结束则返回子串在主串的位置
return i - j;
else //反之则匹配不成功
return -1;
}
}
字符串匹配:BF算法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前言 一切都要从 LeetCode 的第 28 题 实现 strStr()开始说起,当自己脑子里的第一种暴力查找法...
- BF算法 BF算法中的BF是brute force的缩写,中文叫做暴力匹配算法,也加朴素匹配算法。算法特点:“暴力...
- 串的模式匹配 1.朴素的模式匹配(Brute-Force)算法 Brute-Force算法的实现: 测试程序以及运...