/**
*字符串Brute-Force模式匹配算法
*设有两个串:目标串target和模式串pattern,在目标串中查找与模式串相等的一个字串并确定该子串的位置。
*/
class BfMethod
{
public static void main(String[] args)
{
String target="ablahhfdsjkabc";
String pattern="abc";
int index=indexOf(target,pattern);
System.out.println(index);
}
public static int indexOf(String target,String pattern)
{
return indexOf(target,pattern,0);
}
public static int indexOf(String target,String pattern,int start)
{
if(target.length()>=pattern.length()&& target!=null && pattern!=null && pattern.length()>0)
{
int i=start;//i表示目标串的某个子串的序号
int j=0;
while(i<=target.length()-pattern.length())
{
if(target.charAt(i+j)==pattern.charAt(j))
{
j++;
}
else
{
i++;
j=0;
}
if(j==pattern.length()) //一次匹配结束,匹配成功返回子串序号
{
return i;
}
}
}
return -1;//匹配失败返回-1
}
}
BF回溯算法
最新推荐文章于 2022-10-29 17:24:41 发布