Section 1Understand Problem
Section 01
Understand the problem
Restate the problem precisely. Interviewers reward candidates who pause, define the contract, and name the guarantees before coding.
Problem statement
A trie (pronounced "try") is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. Implement the `Trie` class: - `Trie()` — initializes an empty trie. - `void insert(String word)` — inserts the string `word` into the trie. - `boolean search(String word)` — returns `true` if `word` is in the trie (i.e. was previously inserted). - `boolean startsWith(String prefix)` — returns `true` if there is any inserted word that has `prefix` as a prefix.
Example
Trie t; t.insert("apple"); t.search("apple"); t.search("app"); t.startsWith("app"); t.insert("app"); t.search("app"); → true, false, true, true
Constraints
1 ≤ word.length, prefix.length ≤ 2000 · word and prefix consist of lowercase English letters. · At most 3 × 10⁴ calls to `insert`, `search`, and `startsWith`.
Audio recording unsupported on this browser.
WPM—Fillers0Pace—Thinking0%
Explain the problem in your own words
0 words0 chars
AI Review
Write your thinking above first.
Once you've drafted a response, click Submit for AI review and a senior engineer will critique your reasoning.
Ready to submit Section 1?
The reviewer will check whether you stated inputs, output, guarantees, and any assumption you flagged.
Write at least a couple of sentences explaining the problem before submitting.