采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我们return的rightNode没有赋值给root!而是赋值给上层调用的node的left!注意,课程代码中231行是有意义的!靠231行,你绘制的M链接给了N。M就是递归返回的rightNode;N就是上一层调用的node!
代码传送门:https://github.com/liuyubobobo/Play-with-Data-Structures/blob/master/06-Binary-Search-Tree/11-Remove-Min-and-Max-in-BST/src/BST.java
在我们实现的这个二叉树的递归删除的过程中,删除实际发生的方式,和我们在5-3至5-5所介绍的链表删除操作的递归算法中删除发生的方式是一模一样的。尤其是我们在5-5所介绍的递归过程的微观运行机制。强烈建议再看一遍,之后再回过头,思考一下这一小节的代码中,我们的二叉树的删除发生在什么时候?发生的时机是完全一致的!
加油!:)
好的 谢谢老师的解答
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.3k 14