Brute-Force模式匹配算法是一种简单易理解的算法,效率较低,优化的KMP算法见另一篇博客。
/**
* Brute-Force模式匹配算法
*/
package Suanfa;
/**
*
* @author 16026
*
*/
public class BFMatch {
public static int match(String src, String sub) throws Exception {
int len1 = src.length(); // 母串长度
int len2 = sub.length(); // 子串长度
int i = 0; // 母串角标标识
int j = 0; // 子串角标标识
if (src != null && sub != null && len2 > 0 && len1 >= len2) {
while (i < len1 && j < len2) {
if (src.charAt(i) == sub.charAt(j)) {
++i;
++j;
} else {
i = i - j + 1;
j = 0;
}
}
if (j == len2)
return i - len2;
return -1;
}
return -1;
}
}