LeetCode - Convert Sorted Array to Binary Search Tree

时间:2021-10-27 20:04:45

题目:

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;
    }
    
}