建立新点:
int NewNode()
{
for ( int i=0 ; i<26 ; i++ )
tree[tot][i] = 0;
return tot++;
}
插入字符串:
void Insert( char *s )
{
int len = strlen(s),now = 0;
for ( int i=0 ; i<len ; i++ )
{
int tmp = s[i]-'a';
if ( !tree[now][tmp] )
tree[now][tmp] = NewNode();
now = tree[now][tmp];
}
}
查询字符串:
int Query( char *s )
{
int len = strlen(s),now = 0,res = 0;
for ( int i=0 ; i<len ; i++ )
{
int tmp = s[i]-'a';
if ( !tree[now][tmp] )
return res;
now = tree[now][tmp];
}
return res;
}