本质是26叉树。
实现字典树的两种方法:
- 二维数组
- Trie树结构节点
强烈推荐宫水三叶字典树树讲解
- 哈希表+回溯。从网格的每一个格子出发,爆搜所有可能的字符串。另用哈希表
unordered_set<string> hash
存储给定单词列表words
。如果搜到的单词在哈希表中,则加入到结果中。为了防止重复答案,使用哈希表unordered_set<string> ans
存储所有搜索到的结果,最后把ans
的数据转移到vector<string> res
中。- 字典树 + 回溯。手写一个字典树,使用字典树存储单词列表
words
中的单词,在深度优先搜索的过程中,根据字典树中是否存在当前网格字母决定是否继续搜索。为了防止重复遍历,我们将遍历过的网格修改为.
。
深度优先遍历字典树
方法:字典树 + 贪心。
这是一道很经典的字典树模板题目,一定要多看。
字典树是一种用于快速存储和查找字符串的数据结构,它和二叉树类似,不同的是,字典树的路径存储的是字符,节点表示该处是否存在一个已经插入的完整的字符;而二叉树使用节点存储数字,路径并无实际含义。