Я пытаюсь сосчитать все поддеревья из дерева tr ie, но функция ничего не возвращает, и программа попадает в бесконечное число l oop, клавиши ввода - только от «a» до «z» и строчные буквы. Для ввода "arma", "armata", "zi", "zin c" возвращается 325 вместо 11
struct TrieNode
{
struct TrieNode *children[ALPHABET_SIZE];
bool isEndOfWord;
};
int subtree(struct TrieNode *root)
{
int count=0;
for(int i = 0 ; i != ALPHABET_SIZE ; i++)
{
if(!root->isEndOfWord)
{
for(int j=i+1;j != ALPHABET_SIZE;j++)
{
count++;
}
root->isEndOfWord=false;
}
}
return count;
}