java实现字符串暴力匹配
java实现字符串暴力匹配
/**
* 暴力匹配
*
* @param str1 需要找的总字符串
* @param str2 需要找到的字符串
* @return 找到的字符串的下标
*/
private static int violence(String str1, String str2) {
char[] s1 = str1.toCharArray();
char[] s2 = str2.toCharArray();
int s1Len = s1.length;
int s2Len = s2.length;
// 指针,分别指向两个字符串
int i = 0;
int j = 0;
// 保证匹配时不越界
while (i < s1Len && j < s2Len) {
// 第一个字符匹配上了
if (s1[i] == s2[j]) {
++i;
++j;
} else {
i -= (j - 1);
j = 0;
}
}
// 判断是否成功
if (j == s2Len) {
return i - j;
} else {
return -1;
}
}
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步