Java_字符串模式匹配

来源:互联网 发布:黑马程序员培训 编辑:程序博客网 时间:2024/06/02 21:19

暴力破解法(Brute-Force)

主字符串的长度为n,子串的长度为m。将主字符串与子字符串进行逐一比较,若主串与子串相等,加一。

若匹配最后不想等,则从主串下一索引开始重新匹配。

最多需要比较(n-m)*m次。

public class BruteForce {public static int BF(String S,String P) {int index=-1;int N=S.length();int M=P.length();for(int i=0;i<=N-M;i++) {//注意边界条件,这里需要比较到最后一个节点i<=N-Mboolean match=true;for(int j=0;j<M;j++) {if(S.charAt(i+j)!=P.charAt(j)) {match=false;break;}}if(match) {index=i;break;//一旦匹配到第一个就退出循环}}return index;}public static void main(String[] args) {String S= new String("goodgoogle");String P=new String("google");System.out.println(BF(S,P));}}


原创粉丝点击