排序数组转变为平衡二叉树
原题 Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 题目大意 给定一个升序排列的二叉树,将其转换为一棵高度平衡的二叉树。 解题思路 采用递归分治法。 代码实现 树结点类 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } 1 2 3 4 5 6 1 2 3 4 5 6 算法 实现类 public class Solution { public TreeNode sortedArrayToBST(int[] nums) { // 参数检验 if (nums == null || nums.length < 1) { return null; } // 递归分治法求解 return solve(nums, 0, nums.length - 1); } /** * 递归分治求解方法 * * @param nums 升序排序数组 * @param start 开始位置 * @param end 结束位置 * @return 根结点 */ public TreeNode solve(int[]