public void Add(string word, char relatedLetter) { TreeNode current = root; int index = 0; while (index < word.Length) { TreeNode childNode = current.GetChild(word[index]); if (null != childNode) { current = childNode; } else { if (index == word.Length - 1) { current.AddChild(new TreeNode(relatedLetter), word[index]); } else { TreeNode newCurrent = new TreeNode(); current.AddChild(newCurrent, word[index]); current = newCurrent; } } ++index; } }
public InvertedIndexTree() { root = new TreeNode(); }
public void AddChild(TreeNode node, char letter) { childNodes.Add(letter, node); }