struct Node
{
int cnt;
Node *next[26];
bool exist;
Node()
{
cnt = 0;
memset(next,0,sizeof(next));
exist = false;
}
}*rt;
void Insert(string str)
{
int a;
Node *p = rt;
int i = 0;
while(str[i]!='\0')
{
a = str[i] - 'a';
if(p->next[a] == NULL)
{
p->next[a] = new Node;
p->next[a]->cnt = 0;
}
p = p->next[a];
p->cnt += 1;
++i;
}
p->exist = true;
}
int QueryCnt(string str)
{
int a;
Node *p = rt;
int i = 0;
while(str[i] && p!=NULL)
{
a = str[i] - 'a';
p = p->next[a];
++i;
}
if(p == NULL)
return 0;
else
return p->cnt;
}
bool Queryword(string str)
{
int a;
Node *p = rt;
int i = 0;
while(str[i] && p!=NULL)
{
a = str[i] - 'a';
p = p->next[a];
++i;
}
if(p == NULL)
return 0;
if(p->exist==false)
return 0;
return true;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步