请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-01-05 13:25:18

我们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所介绍的递归过程的微观运行机制。强烈建议再看一遍,之后再回过头,思考一下这一小节的代码中,我们的二叉树的删除发生在什么时候?发生的时机是完全一致的!


加油!:)

1 回复 有任何疑惑可以回复我~
  • 提问者 30K必胜 #1
    好的 谢谢老师的解答
    回复 有任何疑惑可以回复我~ 2019-01-05 17:57:23
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信