销毁二叉树
时间: 2023-07-24 08:11:19 浏览: 112
二叉树的操作建立删除
销毁一棵二叉树的步骤如下:
1. 后序遍历二叉树,先销毁左子树,再销毁右子树,最后销毁根节点。
2. 在销毁节点时,需要先销毁其左右子树,再释放该节点的内存。
以下是 C++ 代码示例:
```cpp
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
void destroy(TreeNode* root) {
if (root == nullptr) {
return;
}
destroy(root->left);
destroy(root->right);
delete root;
}
// 示例用法
int main() {
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
destroy(root);
return 0;
}
```
在销毁节点时,需要注意先销毁其左右子树,再释放该节点的内存,否则会导致内存泄漏。
阅读全文