单词查找树 (Trie 字典树)
裸的字典树题目,用一个全局变量记录插入的点的个数,注意每次有新的插入点就自增一次
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10, M = 30;
int trie[N][M], k, cnt;
void insert(char *s){
int len = strlen(s);
int p = 0;
for (int i = 0; i < len; i++){
int c = s[i] - 'A';
if(!trie[p][c]){
trie[p][c] = k++;
++cnt;
}
p = trie[p][c];
}
}
int main()
{
k = 1;
cnt = 0;
char s[100];
while (~scanf("%s", s)){
insert(s);
}
printf("%d", cnt + 1);
return 0;
}
本文来自博客园,作者:correct,转载请注明原文链接:https://www.cnblogs.com/correct/p/12862022.html

浙公网安备 33010602011771号