字符串

原理解释

4.代码
	由1.中思路+性质(else),可得代码:
        void nxt()
        {
            n[0] = -1;
            int k = -1;
            int j = 0;
            while(j < t.length())
            {
                if(k == -1 || t[j] == t[k])
                {
                    j++,k++;
                    n[j] = k;
                }
                else k = n[k];
            }
        }
	第二种写法:
    	for(int i = 2,j = 0;i <= strlen(s + 1);i++)
	{
		while(j && s[i] != s[j + 1]) j = nxt[j];
		if(s[i] == s[j + 1]) j++;
		nxt[i] = j;
	}





posted @ 2024-02-18 20:16  why?123  阅读(11)  评论(0编辑  收藏  举报