208. Implement Trie (Prefix Tree): revisit
1class Trie:
2
3 def __init__(self):
4 self.root = {}
5
6 def insert(self, word: str) -> None:
7 node = self.root
8 for ch in word:
9 if ch not in node:
10 node[ch] = {}
11 node = node[ch]
12 node["ends"] = True
13
14 def search(self, word: str) -> bool:
15 node = self.root
16 for ch in word:
17 if ch not in node:
18 return False
19 node = node[ch]
20 return node.get("ends", False)
21
22 def startsWith(self, prefix: str) -> bool:
23 node = self.root
24 for ch in prefix:
25 if ch not in node:
26 return False
27 node = node[ch]
28 return True
29
30
31# Your Trie object will be instantiated and called as such:
32# obj = Trie()
33# obj.insert(word)
34# param_2 = obj.search(word)
35# param_3 = obj.startsWith(prefix)
#Neetcode150 #Hashing #String #Trie #Python