Trie: count how many words are stored
Insert several lowercase words into a Trie and print the number of distinct words.
Key idea: in a Trie each complete word corresponds to one node marked isEnd=true; all other nodes are just prefixes on the way. So the word count equals the number of isEnd nodes, independent of total node count; inserting the same word twice still counts once.
countWords (which recursively counts isEnd nodes) is provided. You only complete insert: descend per character, create missing edges, and mark the final node isEnd=true — forget it and nothing gets counted.
Input
- Line 1: number of words
n. - Next
nlines: one lowercase word (a-z) each.
Output
- One line: the number of distinct words.
Example: inserting cat car card dog do (5 distinct words) -> 5.