删除二叉树节点
来源:6-11 删除二分搜索树的最大元素和最小元素
qq_往事_8
2019-04-07
视频中为什么要把递归的值赋给node.left。如果使用递归向下一个左子树移动,不再赋值给node.left可以吗?
写回答
1回答
-
liuyubobobo
2019-04-08
注意,你截图的程序是有问题的。递归的过程是:
node.left = removeMin(node.left);
removeMin的返回值要给node.left,这点非常重要。
你的问题和以下问题是一致的,请参考:
https://coding.imooc.com/learn/questiondetail/74488.html
https://coding.imooc.com/learn/questiondetail/110970.html
https://coding.imooc.com/learn/questiondetail/81818.html
请一定结合链表删除,来看这个问题。回忆一下,这和第五章介绍的链表的递归删除,是完全一致的。只不过对于二叉树,要根据值的大小,区别一下左右而已。可以再仔细回顾一下第五章链表的递归删除,尤其是微观解读,理解一下,这个递归删除的结果,为什么一定要返回去:)他们本质是一致的:)
加油!:)
00
相似问题