目录
文章讲解:代码随想录(programmercarl.com)
视频讲解:你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树_哔哩哔哩_bilibili
LeetCode 108.将有序数组转换为二叉搜索树
文章讲解:代码随想录(programmercarl.com)
视频讲解:构造平衡二叉搜索树!| LeetCode:108.将有序数组转换为二叉搜索树_哔哩哔哩_bilibili
LeetCode 538.把二叉搜索树转换为累加树
文章讲解:代码随想录(programmercarl.com)
视频讲解:普大喜奔!二叉树章节已全部更完啦!| LeetCode:538.把二叉搜索树转换为累加树_哔哩哔哩_bilibili
直接想法就是:递归处理,然后遇到
root->val < low || root->val > high
的时候直接return NULL,一波修改。然而[1, 3]区间在二叉搜索树的中可不是单纯的节点3和左孩子节点0就决定的,还要考虑节点0的右子树。
代码如下:
其实这就是一棵树,大家可能看起来有点别扭,换一个角度来看,这就是一个有序数组。从树中可以看出累加的顺序是右中左,所以我们需要反中序遍历这个二叉树,然后顺序累加就可以了。代码如下: