2185. Counting Words With a Given Prefix
On This Page
class Trie:
def __init__(self):
self.children = [None] * 26
self.cnt = 0
def insert(self, w):
node = self
for c in w:
i = ord(c) - ord('a')
if node.children[i] is None:
node.children[i] = Trie()
node = node.children[i]
node.cnt += 1
def search(self, pref):
node = self
for c in pref:
i = ord(c) - ord('a')
if node.children[i] is None:
return 0
node = node.children[i]
return node.cnt
class Solution:
def prefixCount(self, words: List[str], pref: str) -> int:
tree = Trie()
for w in words:
tree.insert(w)
return tree.search(pref)