目前,当我调用此函数时,它会删除所有子节点并释放我传递给它的节点的内存,但该节点仍链接到它的父节点并包含垃圾。
我需要能够将我传递的节点(左或右子节点)的父节点设置为等于,NULL
以便程序在遍历树时不会崩溃。
这是我已经拥有的代码:
void emptySubtree(BinaryNode* node) {
if (node == NULL)
return;
emptySubtree(node->left);
emptySubtree(node->right);
free(node);
}
这是我的函数调用:emptySubtree(tree->root->left)