代码随想录day20 二叉搜索树的最近公共祖先 | 二叉搜索树中的插入操作 | 删除二叉搜索树中的节点
二叉搜索树的最近公共祖先
解题思路
利用二叉搜索树的特性,公共祖先的值,就是在要找的两个值的区间里面
知识点
二叉搜索树
心得
想了一会如何利用二叉搜索树的特性。顺便复习了昨天做的题目
二叉搜索树中的插入操作
解题思路
在二叉搜索树上从根节点开始比较目标节点值的大小,随后找到需要添加的位置
知识点
二叉搜索树
心得
简单的一题
删除二叉搜索树中的节点
解题思路
这题比较难,主要考虑的情况有点多,
第一种情况:没找到删除的节点,遍历到空节点直接返回了
找到删除的节点
第二种情况:左右孩子都为空(叶子节点),直接删除节点, 返回NULL为根节点
第三种情况:删除节点的左孩子为空,右孩子不为空,删除节点,右孩子补位,返回右孩子为根节点
第四种情况:删除节点的右孩子为空,左孩子不为空,删除节点,左孩子补位,返回左孩子为根节点
第五种情况:左右孩子节点都不为空,则将删除节点的左子树头结点(左孩子)放到删除节点的右子树的最左面节点的左孩子上,返回删除节点右孩子为新的根节点。
知识点
二叉搜索树
心得
第五种情况没想到,其余还是挺简单的