文章目录
- [669 修剪二叉搜索树](https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html)
- [108 将有序数组转为二叉搜索树](https://programmercarl.com/0108.%E5%B0%86%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E8%BD%AC%E6%8D%A2%E4%B8%BA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html)
- [538 把二叉搜索树转为叠加树](https://programmercarl.com/0538.%E6%8A%8A%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E8%BD%AC%E6%8D%A2%E4%B8%BA%E7%B4%AF%E5%8A%A0%E6%A0%91.html)
669 修剪二叉搜索树
- 利用二叉搜索树的特点,如果当前的值比low小,需要当前节点的右子树中符合的替换,如果当前的值比low大,需要左子树符合的值替换。
108 将有序数组转为二叉搜索树
- 有序数组和二叉搜索树的性质一样。
- 得到的二叉搜索树需要是平衡的,想到折半二叉树,从中间开始建立也一定是可以满足平衡的,mid = low + (high - low) / 2。
- 注意区间的一致性:刚开始我确定为左闭右开,一直就是左闭右开。
538 把二叉搜索树转为叠加树
- 右中左的遍历顺序,需要保留前一个结点的值。
- 确定递归体中的内容和 右中左 顺序一致。递归返回值为空,制定全局变量pre保存前一个节点。
- 注意在mian函数中对 pre 需要初始化,以免pre作为全局变量一直递增,建立的二叉搜索树就是错的。