第一步:创建结点
struct Node{
//因为有26个字母,所以每一个节点都有26个指针
Node *next[26];
Node(){
for(int i = 0;i<26;i++){
next[i] = NULL;
}
}
};
第二步:创建Trie树
//Node tree是创建了一个根节点。
Node tree;
//记录节点的数量
int sum = 0;
//建立Trie树
void insert(string s){
//每次insert,都得到根结点的地址。
Node *p = &tree;
//得到s的长度
int cd = s.size();
//遍历字符串的每一个字符
for(int i=0;i<cd;i++){
//看每个字符对应的下标的指针
if(p->next[s[i]-'A']==NULL){
p->next[s[i]-'A'] = new Node;
sum++;
}
p=p->next[s[i]-'A'];
}
}