class Trie{
int n;
int[][] son;
int[] cnt;
int idx = 0;
Trie(int n){
this.n = n;
son = new int[n][26];
cnt = new int[n];
}
public void insert(String s){
char[] c = s.toCharArray();
int p = 0;
for (int i = 0; i < c.length; i++){
int u = c[i] - 'a';
if (son[p][u] == 0) son[p][u] = ++idx;
p = son[p][u];
}
cnt[p]++;
}
public int query(String s){
char[] c = s.toCharArray();
int p = 0;
for (int i = 0; i < c.length; i++){
int u = c[i] - 'a';
if (son[p][u] == 0) return 0;
p = son[p][u];
}
return cnt[p];
}
}
5. Trie树
最新推荐文章于 2022-07-05 21:12:27 发布