0%

208. Implement Trie (Prefix Tree)

https://leetcode.com/problems/implement-trie-prefix-tree/description/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class TreeNode:
def __init__(self,ch):
self.ch=ch
self.children={}
self.isEnd=False

class Trie:

def __init__(self):
self.root=TreeNode("")

def insert(self, W: str) -> None:
C=self.root
for w in W:
if w in C.children:
C=C.children[w]
else:
C.children[w]=TreeNode(w)
C=C.children[w]
C.isEnd=True

def search(self, W: str) -> bool:
C=self.root
for w in W:
if w in C.children:
C=C.children[w]
else:
return False
return C.isEnd


def startsWith(self, W: str) -> bool:
C=self.root
for w in W:
if w in C.children:
C=C.children[w]
else:
return False
return True