int trie[1000010][26];
int num[1000010] = {0};
int pos = 1;
void Insert(char word[])
{
int c = 0;
for(int i = 0; word[i]; i++)
{
int n = word[i]-'a';
if(trie[c][n] == 0)
trie[c][n] = pos++;
c = trie[c][n];
num[c]++;
}
}
int Find(char word[])
{
int c= 0;
for(int i = 0; word[i]; i++)
{
int n = word[i]-'a';
if(trie[c][n] == 0)
return 0;
c = trie[c][n];
}
return num[c];
}
立个flag,有时间补上字典树的解析。