Convert Sorted Array to Binary Search Tree
题目地址:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/#/description
题目:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
解题思路:
这道题主要是用recursion来解决。中点是(left+right) / 2,然后分别对两边部分进行递归。
代码:
public TreeNode sortedArrayToBST(int[] nums) {
if(nums == null){
return null;
}
return helper(nums, 0, nums.length - 1);
}
private TreeNode helper(int[] nums, int start, int end){
if(start > end){
return null;
}
TreeNode root = new TreeNode(nums[(start + end) / 2]);
root.left = helper(nums, start, (start + end) / 2 - 1);
root.right = helper(nums, (start + end) / 2 + 1, end);
return root;
}

Comments
Post a Comment