C++中如何实现树节点的复制与删除

   2024-10-01 6070
核心提示:在C++中,我们可以通过递归的方式实现树的节点的复制和删除操作。以下是实现树节点复制和删除的示例代码:#include iostreamstru

在C++中,我们可以通过递归的方式实现树的节点的复制和删除操作。以下是实现树节点复制和删除的示例代码:

#include <iostream>struct TreeNode {    int val;    TreeNode* left;    TreeNode* right;    TreeNode(int value) : val(value), left(nullptr), right(nullptr) {}};// 复制树节点TreeNode* copyTree(TreeNode* root) {    if (root == nullptr) {        return nullptr;    }    TreeNode* newNode = new TreeNode(root->val);    newNode->left = copyTree(root->left);    newNode->right = copyTree(root->right);    return newNode;}// 删除树节点void deleteTree(TreeNode* root) {    if (root == nullptr) {        return;    }    deleteTree(root->left);    deleteTree(root->right);    delete root;}int main() {    TreeNode* root = new TreeNode(1);    root->left = new TreeNode(2);    root->right = new TreeNode(3);    root->left->left = new TreeNode(4);    root->left->right = new TreeNode(5);    // 复制树节点    TreeNode* copiedRoot = copyTree(root);    // 删除原始树节点    deleteTree(root);    // 删除复制的树节点    deleteTree(copiedRoot);    return 0;}

在上面的示例代码中,我们定义了一个简单的树节点结构TreeNode,并实现了复制树节点的copyTree函数和删除树节点的deleteTree函数。在main函数中,我们创建了一个树,并分别复制和删除了树节点,以演示复制和删除树节点的操作。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号