OlveraeUNSW
返回题目列表
COMP2521

Trie · 数一数存了几个单词

Trie · 数一数存了几个单词

把若干小写单词插入一棵 Trie,输出其中不同单词的个数。

关键认知:Trie 里一个完整单词对应一个被标 isEnd=true 的节点,其余节点只是路过的前缀。所以「词数 = isEnd 节点数」,和节点总数无关;重复插入同一个词也只算一次(它的末尾节点 isEnd 已经是 true)。

本题已给好递归统计 isEnd 节点的 countWords,你只需补全 insert:逐字符下降、缺边就新建,走完务必把末尾节点 isEnd 置 true——漏了这一步就一个词都数不出来。

输入

  • 第 1 行:单词个数 n。
  • 接下来 n 行:每行一个由小写字母 a~z 组成的单词。

输出

  • 一行:不同单词的个数。

示例:插入 cat car card dog do 共 5 个不同单词 → 输出 5。

样例

stdin
5
cat
car
card
dog
do
期望输出
5
stdin
4
to
to
tea
ten
期望输出
3
c-dcc
14