题目:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:
总是取中间点为root
package bst; public class ConvertSortedArrayToBinarySearchTree { public TreeNode sortedArrayToBST(int[] nums) { return constructBST(nums, 0, nums.length - 1); } private TreeNode constructBST(int[] nums, int start, int end) { if (start > end) return null; int mid = (end - start) / 2 + start; TreeNode root = new TreeNode(nums[mid]); root.left = constructBST(nums, start, mid - 1); root.right = constructBST(nums, mid + 1, end); return root; } }