208. Implement Trie (Prefix Tree)
208. Implement Trie (Prefix Tree)
Description
Difficulty: Medium
Related Topics: Hash Table, String, Design, Trie
A trie (pronounced as “try”) or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker.
Implement the Trie class:
Trie()Initializes the trie object.void insert(String word)Inserts the stringwordinto the trie.boolean search(String word)Returnstrueif the stringwordis in the trie (i.e., was inserted before), andfalseotherwise.boolean startsWith(String prefix)Returnstrueif there is a previously inserted stringwordthat has the prefixprefix, andfalseotherwise.
Example 1:
1 | Input |
Constraints:
1 <= word.length, prefix.length <= 2000wordandprefixconsist only of lowercase English letters.- At most 3 * 104 calls in total will be made to
insert,search, andstartsWith.
Hints/Notes
- 2023/10/05
- Use a bool value to indicate if it’s the end of one word
- If one node has been initialized then we should NOT recreate the node
- 0x3F’s solution(checked)
Solution
Language: C++
1 | class Trie { |