题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
题目:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:
新建一个结点保存mid值,该结点的左右子树也递归生成,这是个常用的模板
算法:
public TreeNode sortedArrayToBST(int[] nums) {
if (nums == null || nums.length == 0) {
return null;
}
return test(nums, 0, nums.length - 1);
}
public TreeNode test(int[] nums, int left, int right) {
if (right < left)
return null;
int mid = (left + right) / 2;
TreeNode root = new TreeNode(nums[mid]);
root.left = test(nums, left, mid - 1);
root.right = test(nums, mid + 1, right);
return root;
}