二叉树part09
LC669修剪二叉搜索树(未掌握)
- 未掌握思路:
-
没有仔细思考好搜索二叉树的规律,前期浪费在大量时间判定root是否满足条件,要知道root不满足条件只有两种情况,<low和>high,这两种情况根据二叉树规律很容易解决直接递归root.right和root.left即可
-
前期的想法甚至向定义一个pre用来指向前一个TreeNode和一个boolean flag判断当前root是pre的左子节点还是右子节点。其实根本没必要,因为root满足条件,直接root.left=递归即可
-
- 代码
LC108将有序数组转换为二叉搜索树
- 思路:找到数组中间的数字作为root,然后使用递归找到root.left和right
- 代码
LC538把二叉搜索树转换为累加树(未掌握)
- 未掌握分析:受到上一题的影响
- 思路
- 相当于逆序相加数组
- 需要定义一个值记录上一个节点的数值
- 累加顺序是右中左,因此需要反中序遍历二叉树
- 代码