Skip to content

Commit 6adf92b

Browse files
committed
Add Implement Trie solution
1 parent dafa5ee commit 6adf92b

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
class TrieNode:
2+
def __init__(self):
3+
self.children = {}
4+
self.is_end = False
5+
6+
7+
class Trie:
8+
9+
def __init__(self):
10+
self.root = TrieNode()
11+
12+
def insert(self, word: str) -> None:
13+
node = self.root
14+
for ch in word:
15+
if ch not in node.children:
16+
node.children[ch] = TrieNode()
17+
node = node.children[ch]
18+
node.is_end = True
19+
20+
def search(self, word: str) -> bool:
21+
node = self.root
22+
for ch in word:
23+
if ch not in node.children:
24+
return False
25+
node = node.children[ch]
26+
return node.is_end
27+
28+
def startsWith(self, prefix: str) -> bool:
29+
node = self.root
30+
for ch in prefix:
31+
if ch not in node.children:
32+
return False
33+
node = node.children[ch]
34+
return True
35+
36+
37+
# Your Trie object will be instantiated and called as such:
38+
# obj = Trie()
39+
# obj.insert(word)
40+
# param_2 = obj.search(word)
41+
# param_3 = obj.startsWith(prefix)

0 commit comments

Comments
 (0)