AlgoMaster Logo

Convert Sorted Array to Binary Search Tree

nums=[-10, -3, 0, 5, 9]
1class Solution {
2    public TreeNode sortedArrayToBST(int[] nums) {
3        if (nums == null || nums.length == 0) return null;
4        return helper(nums, 0, nums.length - 1);
5    }
6
7    private TreeNode helper(int[] nums, int left, int right) {
8        if (left > right) {
9            return null; // base case
10        }
11
12        int mid = left + (right - left) / 2; // find middle element
13
14        TreeNode node = new TreeNode(nums[mid]); // create the root node
15
16        node.left = helper(nums, left, mid - 1); // recursively create left subtree
17        node.right = helper(nums, mid + 1, right); // recursively create right subtree
18
19        return node; // return the constructed node
20    }
21}
0 / 26
Sorted Array0-101-3203549