代码随想录算法训练营第二十二天 669.修建二叉搜索树、108.将有序数组转化为二叉搜索树、538.把二叉搜索树转化为累加树
代码随想录算法训练营第二十二天 669.修建二叉搜索树、108.将有序数组转化为二叉搜索树、538.把二叉搜索树转化为累加树
669.修建二叉搜索树
题目链接:力扣题目链接
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树
状态:AC
思路
与昨天最后一道题类似,昨天最后一道题要求删除一个节点,这道题则为批量删除节点,多加一个判断条件即可
先使用前序遍历得到树的所有节点,再以此判断改节点是否应该删除
代码
1 |
|
108.将有序数组转化为二叉搜索树
题目链接:力扣题目链接
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:构造平衡二叉搜索树!| LeetCode:108.将有序数组转换为二叉搜索树
状态:AC
思路
根据二叉搜索树的定义,比根节点小的值在根节点左侧,比根节点大的值在根节点右侧。而且还要建立平衡搜索树,那么根节点应该为数组最中间的那个值。切割数组,然后递归
代码
1 |
|
538.把二叉搜索树转化为累加树
题目链接:力扣题目链接
文章讲解:代码随想录(https://programmercarl.com)
视频讲解:普大喜奔!二叉树章节已全部更完啦!| LeetCode:538.把二叉搜索树转换为累加树
状态:AC
思路
看到树的构建过程,实际上是对树进行“右根左”的遍历。使用双指针,一个指向当前节点,另一个指向过去的节点。当前结点的新的值要加上过去节点的值。总体思路与530题思路一样。跳转链接
代码
1 |
|
代码随想录算法训练营第二十二天 669.修建二叉搜索树、108.将有序数组转化为二叉搜索树、538.把二叉搜索树转化为累加树
https://promisewang.github.io/post/b6e45431.html