该方法将树T1和T2的内部结构附加为叶子参考p的左右子树,并将T1和T2重置为空树;如果p不是叶子,则会发生错误情况。
public void attach(Node p, BinaryTree t1, BinaryTree t2) {
if (p.left == null) { //logic error??
p.left = t1.root;
t1.root = null;
}
if (p.right == null) {
p.right = t2.root;
t1.root = null;
}
else
System.out.print("is not leaf");
}
答案 0 :(得分:0)
当您将t1.root分配给p.left并将t2.root分配给p.right时,请不要删除t1和t2根。
这是因为Java使用t1和t2对象来引用p.left和p.right
public void attach(Node p, BinaryTree t1, BinaryTree t2){
if(p.left ==null){
p.left=t1.root;
}
if(p.right==null){
p.right=t2.root;
}
else
System.out.print("is not leaf");
}