10.1.7二叉树-删除节点
内容来自尚硅谷Java数据结构与java算法(Java数据结构与算法)_哔哩哔哩_bilibili
写在前面:本文内容大致和原视频内老师的笔记内容相同,会偶尔插入自己的注释和理解,尽量会完成作业
本次作业未完成...
10.1.7二叉树-删除节点
要求
1.如果删除的节点是叶子节点,则删除该节点
2.如果删除的是非叶子节点,则删除整个子树
3.测试删除5号节点和3号子树
4.完成删除的思路分析

5.代码实现
作业
思考题:
1. 如果要删除的节点是非叶子节点,现在我们不希望将该非叶子节点为根节点的子树删除,需要指定规则,假如规定如下:
2. 如果该非叶子节点A只有一个子节点B,则子节点B替代节点A
3. 如果该非叶子节点A有左子节点B和右子节点c,则让左子节点B替代节点A。请大家思考,如何完成该删除功能,老师给出提示.(课后练习)
以我目前的水平,暂时只能写到这里了,我知道我的代码肯定是不完善的,并没有完全符合老师的需求的逻辑,甚至可以说完全不符合老师的需求的逻辑,因为我只实现了一层向下验证的逻辑,举个简单的例子,假如关胜下面还有一左一右2个节点,那我把关胜这个节点置空的操作其实还是相当于把子树给删掉了,所以我这一段代码不具有参考价值,不建议看。
先继续往下学吧...
代码
想想还是发出来吧,用来提醒自己这题没做出来