首页 > 代码库 > [LeetCode] Convert Sorted Array to Binary Search Tree

[LeetCode] Convert Sorted Array to Binary Search Tree

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

 

/** * Definition for binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public TreeNode sortedArrayToBST(int[] num) {        return sortedArrayToBSTHelper(num, 0, num.length);    }        public TreeNode sortedArrayToBSTHelper(int[] num, int startIndex, int length) {        if (length <= 0) return null;                int rootIndex = startIndex + length/2;        int leftLength = rootIndex - startIndex;        int rightLength = length - leftLength - 1;        TreeNode root = new TreeNode(num[rootIndex]);        root.left = sortedArrayToBSTHelper(num, startIndex, leftLength);        root.right = sortedArrayToBSTHelper(num, rootIndex+1, rightLength);                return root;    }}

 

[LeetCode] Convert Sorted Array to Binary Search Tree