LeetCode 字典树代码实现题解
LeetCode 字典树代码实现题解题目描述详细实现字典树的数据结构。解题思路方法字典树思路使用节点类存储子节点映射和结束标志。提供插入、搜索、前缀匹配方法。可以扩展支持计数、前缀和等功能。代码实现class TrieNode: def __init__(self): self.children {} self.is_end False self.count 0 class Trie: def __init__(self): self.root TrieNode() def insert(self, word): node self.root for char in word: if char not in node.children: node.children[char] TrieNode() node node.children[char] node.count 1 node.is_end True def search(self, word): node self._search_prefix(word) return node is not None and node.is_end def startsWith(self, prefix): return self._search_prefix(prefix) is not None def _search_prefix(self, prefix): node self.root for char in prefix: if char not in node.children: return None node node.children[char] return node def get_node(self, prefix): return self._search_prefix(prefix) # 测试 def test_trie(): trie Trie() trie.insert(apple) trie.insert(app) print(trie.search(apple)) # 输出True print(trie.search(app)) # 输出True print(trie.startsWith(ap)) # 输出True if __name__ __main__: test_trie()总结字典树是一种树形数据结构用于高效地存储和检索字符串。