108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:python参考手册 第5版 编辑:程序博客网 时间:2024/05/17 19:57

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

改一个升序的数组变成一棵平衡查找树,

平衡查找树 左子树比右子树大,左右高度差小于1,

思路:递归建立,每次找到数组的中点作为根节点,比它小的部分作为左子树,大的部分作为右子树。判断结束条件:二分查找的start>end


public class Solution {    public TreeNode sortedArrayToBST(int[] nums) {        if(nums==null||nums.length==0) return null;        return sort(nums,0,nums.length-1);    }    public TreeNode sort(int []nums,int start,int end){        if(start>end) return ;        int mid=start+(end-start)/2;        TreeNode root=new TreeNode(nums[mid]);        root.left=sort(nums,start,mid-1);        root.right=sort(nums,mid+1,end);        return root ;    }    }


0 0
原创粉丝点击