打印java中trie树中的所有单词,该树存在于以前插入的树中

打印java中trie树中的所有单词,该树存在于以前插入的树中,java,depth-first-search,trie,Java,Depth First Search,Trie,嗯。我试图打印我的trie树中的所有单词,它们的(endOfWord)是正确的,但是我在互联网上搜索到的所有单词都是可以打印的。以下是我的java代码: public class Trie { static final int ALPHABETS_SIZE = 11; static int counter = 0; static class TrieNode { TrieNode[] children; boolean isEndOfWor

嗯。我试图打印我的trie树中的所有单词,它们的(endOfWord)是正确的,但是我在互联网上搜索到的所有单词都是可以打印的。以下是我的java代码:

public class Trie {
    static final int ALPHABETS_SIZE = 11;
    static int counter = 0;
    static class TrieNode {
        TrieNode[] children;
        boolean isEndOfWord;

        TrieNode() {
            isEndOfWord = false;
            for (int i = 0; i < ALPHABETS_SIZE; i++) {
                children[i] = null;
            }
        }

        static TrieNode root;

        static void insert(String key) {
            int level;
            int length = key.length();
            int index;
            counter++;
            TrieNode pCrawl = root;

            for (level = 0; level < length; level++) {
                if (key.charAt(level) == 'A') {
                    index = 11;
                } else {
                    index = key.charAt(level) - '0';
                }

                if (pCrawl.children[index] == null)
                    pCrawl.children[index] = new TrieNode();

                pCrawl = pCrawl.children[index];
            }
            pCrawl.isEndOfWord = true;
        }
    }

    public static void print(){

    }
}
公共类Trie{
静态最终整数字母\u大小=11;
静态整数计数器=0;
静态三级管{
三元组[]儿童;
布尔isEndOfWord;
三节点(){
isEndOfWord=假;
对于(int i=0;i
将要添加到trie的整个字符串如下所示: A1A23A541A0或A388A1 我希望有人能回答我如何使用DFS算法做到这一点。
感谢您抽出时间。

以上代码是否有效?如果不初始化children,您正在设置值?我还没有初始化它,但稍后将在我的主函数中进行初始化。我只需要一种正确打印它们的方法那是你贴在那里的一大块代码!也许你可以在你的帖子中只包含你认为出错的部分代码?好的,Sacha,我改变了它。我不清楚这个要求。请解释并添加测试数据和预期结果。