1382. 将二叉搜索树变平衡(中等)
1,问题描述
难度:中等
给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。如果有多种构造方法,请你返回任意一种。
如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1
,我们就称这棵二叉搜索树是 平衡的 。
示例 1:
1 | 输入:root = [1,null,2,null,3,null,4,null,null] |
示例 2:
1 | 输入: root = [2,1,3] |
提示:
- 树节点的数目在
[1, 104]
范围内。 1 <= Node.val <= 105
2,初步思考
直接取中间节点,将树分左右两支
3,代码处理
1 | import support.TreeNode; |