day20、21、22补卡

235. 二叉搜索树的最近公共祖先

这道题的解题思路,我想了一会都没想出来,看了题解想:对于二叉搜索树,当我们从上向下去递归遍历,第一次遇到 cur节点是数值在[q, p]区间中,那么cur就是 q和p的最近公共祖先。怎么理解

因为节点6作为父节点,左右两边的范围是[0,6) (6,9], 肯定是公共父节点

但是其他节点,向下遍历的话比如8,左右两边的范围就是(6,8) (8,9]了,所以是第一次遇到的节点

701.二叉搜索树中的插入操作

自己想没想出来,看了题解,首先确定返回值,就是root,将root节点返回给上一层,用左右指针去接住,根据BST的特征,如果大于目标就向左子节点进行递归查找,一步步找到目标应该在的位置,也就是递归到出现null节点的位置,就是val目标节点应该放的位置,然后新建这个目标节点,返回给上一层递归接住

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

对于题解中的第五种情况,可以是将右指针放在左子树的最右边的节点的右指针,或者是将左指针放在右子树的最左边的节点的右指针

669. 修剪二叉搜索树

相比于删除节点,修剪的时候,如果当前节点的值小于min,则左子树肯定都小于要删除,所以相当于删除节点中的左指针为空的情况,使用右指针替代返回,但是这里要确保右子树也是在范围内的,所以要进一步调用递归右指针,然后返回右指针,大于max的时候同理

77. 组合

这里的剪枝优化,就是说以当前已有元素数量,如果当前起点位置算起,往后的所有元素加上都无法满足k的数量,那就没必要接着递归了,因为不够,可以在进入的时候判断,直接返回,也可以在for循环的时候,控制这种情况不进入递归方法

相关推荐

  1. 算法题day37日(5.23日:贪心算法day4)

    2024-07-13 06:02:02       22 阅读
  2. 算法题day43(5.29日:动态规划03)

    2024-07-13 06:02:02       30 阅读
  3. day 34()贪心(3)

    2024-07-13 06:02:02       55 阅读
  4. 算法训练营day23

    2024-07-13 06:02:02       30 阅读
  5. day01打

    2024-07-13 06:02:02       64 阅读
  6. day04打

    2024-07-13 06:02:02       61 阅读
  7. day13打

    2024-07-13 06:02:02       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 06:02:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 06:02:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 06:02:02       58 阅读
  4. Python语言-面向对象

    2024-07-13 06:02:02       69 阅读

热门阅读

  1. 基于Go1.19的站点模板爬虫详细介绍

    2024-07-13 06:02:02       23 阅读
  2. c++_文件解析_读取_每行用字符分割_去除两头空格

    2024-07-13 06:02:02       20 阅读
  3. 使用 OpenCV 的 inRange 函数进行颜色分割

    2024-07-13 06:02:02       21 阅读
  4. Web控件进阶交互

    2024-07-13 06:02:02       28 阅读
  5. iOS开发-Xcode

    2024-07-13 06:02:02       21 阅读
  6. Xcode依赖管理大师:精通项目依赖的艺术与实践

    2024-07-13 06:02:02       21 阅读
  7. 数据结构笔记之特殊矩阵压缩

    2024-07-13 06:02:02       25 阅读
  8. 交换机的二三层原理

    2024-07-13 06:02:02       24 阅读
  9. pdf工具

    pdf工具

    2024-07-13 06:02:02      24 阅读
  10. Xcode项目文件与资源管理:精通技巧与实践指南

    2024-07-13 06:02:02       25 阅读
  11. ChatGPT对话:如何制作静态网页?

    2024-07-13 06:02:02       23 阅读
  12. QLabel控件

    2024-07-13 06:02:02       23 阅读
  13. deepstream读取mp4文件及不同类型视频输入bug解决

    2024-07-13 06:02:02       27 阅读
  14. samout 结构再优化 收敛速度再加快

    2024-07-13 06:02:02       24 阅读
  15. 延时订单的实现

    2024-07-13 06:02:02       27 阅读
  16. 数学基础 -- 三角学

    2024-07-13 06:02:02       27 阅读
  17. 07-7.5.2 散列函数的构造

    2024-07-13 06:02:02       27 阅读
  18. React vs Vue:谁是前端界的冠军?

    2024-07-13 06:02:02       24 阅读