Search⌘ K
AI Features

Solution: Implement Trie (Prefix Tree)

Explore how to implement a Trie data structure that supports inserting words, searching complete words, and searching prefixes efficiently. Understand the character-by-character approach that reduces search time compared to other structures. This lesson helps you build the core Trie operations and analyze their time and space complexities to apply in string manipulation tasks.

Statement

Trie is a tree-like data structure used to store strings. The tries are also called prefix trees because they provide very efficient prefix-matching operations. Implement a trie data structure with three functions that perform the following tasks:

  • Insert (word): This inserts a word into the trie.

  • Search (word): This searches the given word in the trie and returns TRUE if the complete word is found (i.e., all characters match and the last node is marked as the end of a word). Otherwise, return FALSE.

  • Search prefix (prefix): This searches the given prefix in the trie and returns TRUE if the prefix path exists in the trie (i.e., all prefix characters match), regardless of whether the last node is marked as the end of a word. Otherwise, return FALSE.

Constraints:

  • 11 \leq word.length, prefix.length 500\leq 500
...