Skip to content

Commit 9452e8f

Browse files
committed
solve: implement trie prefix tree
1 parent 2f279cf commit 9452e8f

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

implement-trie-prefix-tree/evan.py

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

0 commit comments

Comments
 (0)