一、要求
1.没子节点时,直接删除
2.有子节点时,删除该节点。
如果该节点有左节点,则左节点为父节点,右节点不变,如果没只有左节点或者右节点,则直接提升为父节点。
二、代码
public Hero delNode(int no) { Hero hero = null; if(this.root != null ) { if(this.root.getNo() == no) { hero = this.root; if(this.root.getLeft() != null) { this.root = this.root.getLeft(); }else { this.root = this.root.getRight(); } }else { hero = this.root.del(no);//调用子节点删除方法 } }else { System.out.println("根节点为空!"); } return hero; } |