<span style="font-size:18px;">/**
* 暴力字符串匹配
* @author xxxu
*
*/
public class ViolenceMatch {
/**
* 在txt中匹配pat
* @param pat
* @param txt
* @return
*/
public int match(String pat,String txt){
int M=pat.length(); //模式字符串的长度
int N=txt.length(); //文本字符串的长度
for (int i = 0; i < N; i++) {
int j;
for (j = 0; j < M; j++) {
if(pat.charAt(j)!=txt.charAt(i+j)){
break;
}
}
if(j==M){
return i; //找到匹配,返回第一个匹配字符的位置
}
}
return N;//没有找到匹配的话,返回N
}
/**
* 和match方法一样,相同的效果不同的实现而已
* @param pat
* @param txt
* @return
*/
public int search(String pat,String txt){
int i;
int j;
int M=pat.length();
int N=txt.length();
for(i=0,j=0;i<N&&j<M;i++){
if(pat.charAt(j)==txt.charAt(i)){
j++;
}else{
i-=j;
j=0;
}
}
if(j==M){
return i-M;
}else{
return N;
}
}
}</span>
暴力字符串查找
最新推荐文章于 2024-04-15 13:37:19 发布