返回题目列表
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