克隆一棵树 【数据结构】

克隆一棵树
树的创建是递归的,那么树的克隆也采用递归的方式
如下为先序遍历的方法克隆一棵树

1 根据树的根节点创建新的根节点
2 根据已知树的左子树递归创建新的左子树
3 根据已知树的右子树递归创建新的右子树
4子树的创建过程按照2~3步骤进行
5如果子树为空直接返回,跳出递归函数。

103 //克隆一棵树
104 TreeNode* TreeClone(TreeNode* root)
105 {
106     if(root==NULL)
107     {
108         //空树
109         return NULL;
110     }
111     //克隆根节点                                                                           
112     TreeNode* new_root=CreateNode(root->data);
113     //递归克隆左子树
114     new_root->lchild=TreeClone(root->lchild);
115     //递归克隆右子树
116     new_root->rchild=TreeClone(root->rchild);
117     //返回根节点
118     return new_root;
119 }

猜你喜欢

转载自blog.csdn.net/yu876876/article/details/80942647
今日推荐