kmp算法(大致伪码)

来源:互联网 发布:好玩的交友软件 编辑:程序博客网 时间:2024/06/03 20:09
void getNext(String t,int[] next){

int i=0;

int j=1;

char[] t=t.toCharArray();

next[1]=0;

whie(i<t.length()){

      if(i==0 || t[i]==t[j]){

           i++;

          j++;

         next[j]=i;

       }else{

         i=next[i];

    }

}//获得next数组

int indexMap(String s,String t,int pos){

   int i=pos;

   int j=1;

   int next[255];

   getNext(t,,next);

  while(i< s.length() && j<t.length()){

            if(j==0  ||s[i]==t[j]){

                i++;

               j++;

            }else{

                j=next[j];

               }

}

      if(j>t.length()){

           return i-t.length();

}else{

          return 0;

}

}//kmp匹配


原创粉丝点击