AlgoForge
LearnPracticeMockPricing
AlgoForge

Master DSA patterns and ace your next technical interview.

Learn

  • Curriculum
  • Problems
  • Daily Challenge
  • Mock Interview

Account

  • Dashboard
  • Pricing
  • Sign In
  • Get Started

Company

  • Privacy Policy
  • Terms of Service

© 2026 AlgoForge. All rights reserved.

Built for engineers who ship.

mediumTries

Implement Trie (Prefix Tree)

## Problem

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 string `word` into the trie.
- `boolean search(String word)` Returns `true` if the string `word` is in the trie (i.e., was inserted before), and `false` otherwise.
- `boolean startsWith(String prefix)` Returns `true` if there is a previously inserted string that has the prefix `prefix`, and `false` otherwise.

> **Input format:** A list of operations and arguments. `["insert","search","startsWith"]` and `[["apple"],["apple"],["app"]]`. Return a list of results (None for insert).

Examples

Input
ops=["insert","search","search","startsWith","insert","search"] args=[["apple"],["apple"],["app"],["app"],["app"],["app"]]
Output
[None, True, False, True, None, True]
"apple" inserted, "app" not inserted yet but is a prefix.

Constraints

1 <= word.length, prefix.length <= 2000 word and prefix consist only of lowercase English letters. At most 3 * 10^4 calls will be made to insert, search, and startsWith.
Python
Loading...