Я пытаюсь реализовать здесь структуру tr ie. Проблема в том, что nullcheck показывает root == null после завершения работы конструктора, поэтому я не могу продолжать поиск tr ie. Как мне изменить конструктор, чтобы root содержал всю информацию?
public class BoggleSolver {
protected letterNode root;
protected class letterNode {
protected Integer value;
protected letterNode[] next;
protected letterNode() {
value = null;
next = new letterNode[26];
}
}
public BoggleSolver(String[] dictionary) {
letterNode root = new letterNode();
for (String word : dictionary) {
if (word.length() > 2) {
plantTrie(root, word, 0);
}
}
}
public void plantTrie(letterNode node, String word, int i) {
int letterIndex = i;
if (letterIndex < word.length()) {
if (node.next[word.charAt(letterIndex) - 'A'] == null) {
node.next[word.charAt(letterIndex) - 'A'] = new letterNode();
if (letterIndex == word.length() - 1) {
node.next[word.charAt(letterIndex) - 'A'].value = scoreOf(word);
}
} else {
if (letterIndex == word.length() - 1) {
node.next[word.charAt(letterIndex) - 'A'].value = scoreOf(word);
}
}
plantTrie(node.next[word.charAt(letterIndex) - 'A'], word, letterIndex + 1);
}
}