您的位置:首页 > 其它

BF回溯算法

2016-03-12 19:02 417 查看
/**
*字符串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

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: