我有一个嵌套的二叉搜索树,在这个树中每个节点都包含一个指向另一个BST的指针。我写了这段代码来删除我的树并释放分配的内存:
void reclaimMemory(LayerTwo::Node* n){//delete the second tree
if (n == nullptr) return;
reclaimMemory(n->left);
reclaimMemory(n->right);
delete n;
}
void reclaimMemory(LayerOne::Node* n){//delete the first tree
if (n == nullptr) return;
reclaimMemory(n->left);
reclaimMemory(n->right);
reclaimMemory(n->layerTwotree->root);
delete n;
}
这段代码没有给我任何错误,一切似乎都没问题。但是我想知道我是否使用正确的方法来释放树中分配的内存,有没有更好的方法来完成这项任务?