代码随想录算法训练营第22天 | 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

代码随想录算法训练营第22天 | 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

链接: 235. 二叉搜索树的最近公共祖先
链接: 701.二叉搜索树中的插入操作
链接: 450.删除二叉搜索树中的节点

自己看到题目的第一想法

235.二叉搜索树的最近公共祖先:对于普通二叉树的寻找最近公共祖先可以直接搬过来写,但是二叉搜索树既然限定了,肯定会有更多条件导致题目更加容易做。
701.二叉搜索树中的插入操作:直接按照原树和增加的值的节点重新构建一个二叉搜索树即可,因为答案是不唯一的,可以在原树的基础上插入也可以重新构建。最简单的思路就是重新构建。两种方法都做一下。

看完代码随想录之后的想法

701.二叉搜索树中的插入操作:看完答案之后其实我是很不理解的,插入val节点但是返回只有一个新建的val节点这不符合题意呀,因为题目要返回的是整个二叉树。决定去看看卡哥的视频。

自己实现过程中遇到哪些困难

235.二叉搜索树的最近公共祖先:这个题目和昨天的二叉树祖先题目相比,它又是不需要遍历整个树的,所以直接判断之后就返回了,我是不理解的。什么时候需要遍历整个,什么时候不需要。
701.二叉搜索树中的插入操作:递归结束条件如果当前节点为空,那么说明在根据节点值大小去选择方向遍历到了叶子节点的下一个位置,也就是节点应该插入的位置,把这个val节点返回之后,就返回给了上一层节点的叶子节点,也就是进行了插入操作。我终于理解了。不得不说,妙。
450.删除二叉搜索树中的节点 :自己实现的时候发现对于左右叶子节点均不为空的情况不是很清晰具体应该怎么去操作。再次看了视频发现了,root右侧子树最左的叶子节点是大于root的最小的值,这个节点作为根节点,把root的左子树合并在这里。

今日收获,记录一下自己的学习时长

1.针对二叉搜索树的添加节点和删除节点的递归操作有了更进一步的认识,能够自己写出代码
2.对递归有了更进一步的认识,感觉到了递归的妙。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值