Skip to content

Commit 49903da

Browse files
208: implement Trie (Prefix Tree)
1 parent 9832fa6 commit 49903da

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

python/trie.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class TrieNode:
2+
def __init__(self):
3+
self.children = {}
4+
self.is_word = False
5+
6+
class Trie:
7+
8+
def __init__(self):
9+
self.root = TrieNode()
10+
11+
def insert(self, word: str) -> None:
12+
node = self.root
13+
for char in word:
14+
if char not in node.children:
15+
node.children[char] = TrieNode()
16+
node = node.children[char]
17+
node.is_word = True
18+
19+
def search(self, word: str) -> bool:
20+
node = self.root
21+
for char in word:
22+
if char not in node.children:
23+
return False
24+
node = node.children[char]
25+
return node.is_word
26+
27+
28+
def startsWith(self, prefix: str) -> bool:
29+
node = self.root
30+
for char in prefix:
31+
if char not in node.children:
32+
return False
33+
node = node.children[char]
34+
return True

0 commit comments

Comments
 (0)