669. 修剪二叉搜索树
题目链接/文章讲解: 代码随想录
视频讲解: 你修剪的方式不对,我来给你纠正一下!| LeetCode:669. 修剪二叉搜索树_哔哩哔哩_bilibili
笔记:左闭右闭,小于区间指针向左,大于区间指针向右,在区间范围内,处理左子树小于区间和右子树大于区间。
108.将有序数组转换为二叉搜索树
题目链接/文章讲解:代码随想录
视频讲解:构造平衡二叉搜索树!| LeetCode:108.将有序数组转换为二叉搜索树_哔哩哔哩_bilibili
笔记:
递归的方法,本质就是寻找分割点,分割点作为当前节点,然后递归左区间和右区间。通过递归函数的返回值来增删二叉树。
迭代的方法,其实就是模拟取中间元素,然后不断分割去构造二叉树的过程。可以通过三个队列来模拟,一个队列放遍历的节点,一个队列放左区间下标,一个队列放右区间下标。
538.把二叉搜索树转换为累加树
视频讲解:普大喜奔!二叉树章节已全部更完啦!| LeetCode:538.把二叉搜索树转换为累加树_哔哩哔哩_bilibili
笔记:累加的顺序是右中左,所以我们需要反中序遍历这个二叉树,然后顺序累加就可以了。同时需要定义一个全局变量pre,用来保存cur节点的前一个节点的数值 。