我在java中有一个完全构建的通用Trie。我试图遍历 Trie 以获得每条路径的所有完整组合。例如,如果 Trie 包含字符,那么它将返回所有单词组合。出于我的目的,我试图将每个组合的所有节点放入一个数组中并返回它们。然而,我很难过。我只是想出了在返回父/起始节点之前遍历每个子节点(+子子节点)的遍历(很像 BST 遍历)。我正在使用一个ArrayList
来保存每个节点的孩子。对不起,如果它有点混乱。代码示例或伪代码将不胜感激。谢谢。
编辑
通过组合,我的意思是以下。如果我有一个Trie<char>
如下所示:
"null"
/ | \
a i t
/ /|\ \
t f m n o
我想要返回的组合是:
[a, t]
[i, f]
[i, m]
[i, n]
[t, o]
并且所有这些数组/列表都可以在一个最后返回的 ArrayList 中。