WZJ的数据结构(零)KMP

来源:互联网 发布:孙俪的淘宝店铺等花开 编辑:程序博客网 时间:2024/05/20 06:49




试题描述
输入一个模板串P和文本串T,输出P在T中出现了多少次。
输入
第一行为模板串P。
第二行为文本串T。
输出
输出P在T中出现了多少次
输入示例
aba
ababa
输出示例
2
其他说明
1<=|P|<=|T|<=1000000
保证P与T只由小写字母'a'或'b'组成


int KMP_Index(char T[],char S[],int tlength,int slength,int pos){    int *next=(int*)malloc(slength*sizeof(int));    KMP_Next(S,next,slength);    int j=-1,i=pos-1;    while(i<tlength&&j<slength)    {        if(j==-1||T[i]==S[j])        {            i++;            j++;        }        else            j=next[j];    }    return j==slength?i-slength:-1;}







0 0
原创粉丝点击