//删除节点
/**
*
* @param no 要删除的节点编号
*/
public void delNode(int no){
//判断当前节点的左子树是否为空,如果不为空,再判断是否为要删除的节点
if (this.left != null && this.left.no == no){
this.left = null;
}
//判断当前节点的右子树是否为空,如果不为空,再判断是否为要删除的节点
if (this.right != null && this.right.no == no){
this.right = null;
}
//否则向左向右递归
if (this.left != null){
this.left.delNode(no);
}
if (this.right != null){
this.right.delNode(no);
}
}
//删除节点
/**
*
* @param no 要删除的节点编号
*/
public void delNode(int no){
//先判断二叉树是否为空
if (this.root != null){
//再判断当前root节点是不是要删除的节点
if (this.root.getNo() == no){
root = null;
}else {
this.root.delNode(no);
}
}else {
System.out.println("二叉树为空,不能删除...");
}
}
原文:https://www.cnblogs.com/mx-info/p/14854949.html