public void PushIn(string word) { if (string.IsNullOrEmpty(word)) { IsEnd = true; return; } var key = word[0]; var isCapital = IsCapital(key); PushToChild(key, word, isCapital ? CapitalChildren : OriginalChildren); if (OriginalChildren.Any() && CapitalChildren.Any()) { TryGetChild = GetAllChildren; } else { if (OriginalChildren.Any()) { TryGetChild = GetOriChildren; } if (CapitalChildren.Any()) { TryGetChild = GetCapitalChildren; } } }
private bool HasChild() { return(OriginalChildren.Any() || CapitalChildren.Any()); }
private bool GetOriChildren(char key, out WordTree wordTree) { return(OriginalChildren.TryGetValue(key, out wordTree)); }