Tries· 20 min

Trie Insert & Search

One node per character — shared prefixes, O(L) lookups

Step 1 / 31

Current step

1 / 31

Insert "car" — start at the root and walk one letter at a time.

Step log

Current node
Path walked
End of word
trie.java
1import java.util.HashMap;
2import java.util.Map;
3
4public class Main {
5 static class TrieNode {
6 Map<Character, TrieNode> children = new HashMap<>();
7 boolean isWord;
8 }
9
10 private final TrieNode root = new TrieNode();
11
12 public void insert(String word) {
13 TrieNode node = root;
14 for (char character : word.toCharArray()) node = node.children.computeIfAbsent(character, key -> new TrieNode());
15 node.isWord = true;
16 }
17
18 public boolean search(String word) {
19 TrieNode node = root;
20 for (char character : word.toCharArray()) {
21 node = node.children.get(character);
22 if (node == null) return false;
23 }
24 return node.isWord;
25 }
26
27}
● Java
Insert / search
O(L)
Space
O(total chars)
Nodes
1
Words stored
0