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

Popular Posts