450.删除二叉搜索树中的节点

https://leetcode-cn.com/problems/delete-node-in-a-bst/

一、递归遍历

删除一个节点A,有三种情况

情况 1A恰好是末端节点,两个子节点都为空,直接干掉即可

情况 2A只有一个非空子节点,那么它要让这个孩子接替自己的位置。

情况 3A有两个子节点,较为麻烦,为了不破坏 BST 的性质,A必须找到左子树中最大的那个节点,或者右子树中最小的那个节点来接替自己。此处选择找右子树最小

最后更新于