У меня есть домашнее задание, и я не могу понять, как считать нечетные числа с помощью рекурсии в двоичном дереве
Я пытался использовать для утверждения, но мой учитель сказал, что мне нужно делать с рекурсией, и это будет слишком ЭЗ, но я не могу ее получить.
// create Tree
struct Node
{
int key;
Node *left, *right;
};
// Function to print all odd nodes
void oddNode(Node* root)
{
if (root != NULL) {
oddNode(root->left);
// if node is odd then print it
if (root->key % 2 != 0)
printf("%d ", root->key);
oddNode(root->right);
}
}
// Driver Code
int main()
{
/* Let us create following BST
5
/ \
3 7
/ \ / \
2 4 6 8 */
Node* root = NULL;
root = insert(root, 5);
root = insert(root, 3);
root = insert(root, 2);
root = insert(root, 4);
root = insert(root, 7);
root = insert(root, 6);
root = insert(root, 8);
oddNode(root);
}
Вывод должен быть 3, но фактический вывод пуст