实现
class Trie: def __init__(self): self.root = {"is_word": False} self.size = 0 # 返回单词数量 def get_size(self): return self.size # 向trie中添加一个单词 def add(self, words): cur = self.root for i in words: if i not in cur: cur[i] = dict(is_word=False) self.size += 1 cur = cur[i] if not cur["is_word"]: cur["is_word"] = True # 是否包含某个单词 def contains(self, words): cur = self.root for i in words: if i not in cur: return False cur = cur[i] return cur["is_word"] # 查询是否存在单词已words_prefix作为前缀 def is_prefix(self, words_prefix): cur = self.root for i in words_prefix: if i not in cur: return False cur = cur[i] return True