1.复制二叉树
思想:
如果是空树,递归结束
否则,申请新节点空间,复制根节点
递归复制左子树
递归复制右子树
int Copy(BiTree T,BiTree &NewT){
if(T==NULL){
NewT=NULL;//如果是空返回0
return 0;
}
else{
NewT =new BiTNode; NewT->data=T->data;
Copy(T->left,NewT->left);
Copy(T->right,NewT->right);
}
举例:
1.刚开始指针T指向根节点A;
2.复制A的话就先在内存申请一块空间用来存放NewT;
3.下来就是复制A的左子树B,B不为空;
4.将当前节点的值T所指向的就复制给NewT, NewT->data=T->data;