Tries Cheat Sheet
Quick reference for coding interviews. Bookmark this page!
What is Tries?
Efficiently store and search strings with prefix trees.
Trigger Words
When you see these in a problem, think Tries:
Template Code
class TrieNode:
def __init__(self):
self.children = {}
self.is_end = False
class Trie:
def __init__(self):
self.root = TrieNode()
def insert(self, word: str) -> None:
node = self.root
for char in word:
if char not in node.children:
node.children[char] = TrieNode()
node = node.children[char]
node.is_end = True
def search(self, word: str) -> bool:
node = self.root
for char in word:
if char not in node.children:
return False
node = node.children[char]
return node.is_end
def startsWith(self, prefix: str) -> bool:
node = self.root
for char in prefix:
if char not in node.children:
return False
node = node.children[char]
return True
Complexity
| Typical Time | O(m) per operation |
|---|---|
| Typical Space | O(total chars) |
Common Variations
- Basic Tries
- Tries with constraints
- Optimized Tries
Practice Problems
See all Tries problems →Practice Tries
Learn to recognize patterns instantly with interactive MCQs.
Download LeetEye Free