108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:最新淘宝助理 编辑:程序博客网 时间:2024/05/21 03:27

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

Subscribe to see which companies asked this question.

Have you met this question in a real interview?


Solution:

Tips:

recursion, tree


Java Code:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public TreeNode sortedArrayToBST(int[] nums) {        if (null == nums || nums.length < 1) {            return null;        }                return sortedArrayToBST(nums, 0, nums.length - 1);    }        public TreeNode sortedArrayToBST(int[] nums, int begin, int end) {        if (begin > end) {            return null;        }        int mid = begin + (end - begin) / 2;        TreeNode node = new TreeNode(nums[mid]);        node.left = sortedArrayToBST(nums, begin, mid - 1);        node.right = sortedArrayToBST(nums, mid + 1, end);                return node;    }}


0 0
原创粉丝点击