Doing something you intrinsically are enthusiastic with.

2016年2月27日 星期六

Leetcode-Convert Sorted Array to Binary Tree

清晨7:34 Posted by Unknown No comments

題目

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


因為已經是排序過的,所以就很簡單了

Binary Search Tree的特性就是左小右大

所以這一題就把在中間位置的值,拿來當Root然後左右跑遞迴





public class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        
    if(nums==null)
        return null;
        
    if(nums.length==1)
        return new TreeNode(nums[0]);
    
    TreeNode node = BuildTree(0,nums.length-1,nums);
    return node;

    }
    
    TreeNode BuildTree(int start,int end, int[]nums){
        
        if(start>end)
            return null;
        
        int mid=(start+end)/2;
        TreeNode node=new TreeNode(nums[mid]);
        
        node.left=BuildTree(start,mid-1,nums);
        node.right=BuildTree(mid+1,end,nums);
        
        return node;
     }
    
    
}

0 意見:

張貼留言