int trie[MAXN][26];
int color[MAXN];
int k = 1;
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;
k++;
}
p = trie[p][c];
}
color[p] = 1;
}
int search(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]) return 0;
p = trie[p][c];
}
return color[p] == 1;
}
相关文章
- 03-22leetcode 421.数组中两个数的最大异或值 - 字典树 + 贪心
- 03-22codevs-4189字典(字典树讲解+题目应用)
- 03-22leetcode 字典树 每日一题 2021.5.16 208. 实现 Trie (前缀树)(字典树)
- 03-22leetcode 前缀树
- 03-22Trie树
- 03-22字典树(前缀树)
- 03-22初学前缀树
- 03-22Trie树的实现
- 03-22TRIE(前缀树)
- 03-22Trie 树 (前缀树, 字典树)