0x00 235. 二叉搜索树的最近公共祖先
题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/
0x1 看到题目的第一想法
- 和昨天236二叉树的最近公共祖先一样的做法
0x2 自己实现过程中遇到哪些困难
- 漏
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 利用二叉搜索树的特性,可以简单一点
- 二叉搜索树的p、q的公共祖先x必在[p, q]这个范围内
0x5 今日收获,记录一下自己的学习时长
- 30min
701. 二叉搜索树中的插入操作
题目链接:https://leetcode.cn/problems/insert-into-a-binary-search-tree/
0x1 看到题目的第一想法
0x2 自己实现过程中遇到哪些困难
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 利用二叉搜索树的特性
- 只要遍历二叉搜索树,找到空节点 插入元素就可以
0x5 今日收获,记录一下自己的学习时长
- 45min
450. 删除二叉搜索树中的节点
题目链接:https://leetcode.cn/problems/delete-node-in-a-bst/submissions/399730045/
0x1 看到题目的第一想法
0x2 自己实现过程中遇到哪些困难
0x3 今日学习的文章链接,或者视频链接
0x4 看完代码随想录之后的想法
- 二叉搜搜索树的删除比插入复杂
- 第一种情况:没找到删除的节点,遍历到空节点直接返回了
- 第二种情况:左右孩子都为空(叶子节点),直接删除节点, 返回NULL为根节点
- 第三种情况:删除节点的左孩子为空,右孩子不为空,删除节点,右孩子补位,返回右孩子为根节点
- 第四种情况:删除节点的右孩子为空,左孩子不为空,删除节点,左孩子补位,返回左孩子为根节点
- 第五种情况:左右孩子节点都不为空,则将删除节点的左子树头结点(左孩子)放到删除节点的右子树的最左面节点的左孩子上,返回删除节点右孩子为新的根节点。
0x5 今日收获,记录一下自己的学习时长
- 1.5h
待重点复习
450
总结
- 利用二叉搜索树的特性