栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

前序删除二叉树节点----java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

前序删除二叉树节点----java

思路


删除节点,如果节点为叶子节点就直接删除,如果不是叶子节点就将整颗树删除

代码

在二叉树类中判断当前节点和删除的节点是否相等,相等就直接置为空,在节点类Hero中就是判断左边孩子和右边孩子是否为要删除的节点。

public void del(int no){
        if (this == null){
            return;
        }
        if (this.head.getId() == no){
            this.head = null;
        }else {
            this.head.del(no);
        }
    }

在节点类中判断该节点的左右子孩子是否为要删除的元素,如果是就置为空,不是就递归的判断左边的和右边的孩子。 

//删除节点
    public void del(int no){

        if (this.left!= null && this.getLeft().getId() == no){
            this.setLeft(null);
            return;
        }
        if (this.right != null && this.getRight().getId() == no){
            this.setRight(null);
            return;
        }
        if (this.left!= null){
            this.left.del(no);
        }
        if (this.right != null){
            this.right.del(no);
        }
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606445.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号