代码
int son[N][26],cnt[N],idx;
//son结点,cnt当前结点的字符串个数,idx当前位置
插入
void insert(char str[])
{
int p = 0;
for (int i = 0; str[i]; i ++ )
{
int u = str[i] - 'a';
if (!son[p][u]) son[p][u] == ++ idx;
p = son[p][u];
}
cnt[p] ++;
}
查找
int query(char str[])
{
int p = 0;
for (int i = 0; str[i]; i ++ )
{
int u = str[i] - 'a';
if(!son[p][u]) return 0;
p = son[p][u];
}
return cnt[p];
}