C++中如何实现树节点的复制与删除
导读:在C++中,我们可以通过递归的方式实现树的节点的复制和删除操作。以下是实现树节点复制和删除的示例代码: #include <iostream> struct TreeNode { int val; TreeNo...
在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函数中,我们创建了一个树,并分别复制和删除了树节点,以演示复制和删除树节点的操作。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C++中如何实现树节点的复制与删除
本文地址: https://pptw.com/jishu/695732.html
