【leetcode】108.(Easy)Convert Sorted Array to Binary Search Tree

解题思路:
递归


提交代码:

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        if(nums.length==0)	return null;
        if(nums.length==1) {
        	TreeNode node=new TreeNode(nums[0]);
        	return node;
        }
        
        int leftSize=nums.length/2;
        TreeNode root=new TreeNode(nums[leftSize]);
        int[] left=new int[leftSize];
        for(int i=0;i<leftSize;i++)
        	left[i]=nums[i];
        root.left=sortedArrayToBST(left);
        	
        int rightSize=nums.length-leftSize-1;
        int[] right=new int[rightSize];
        for(int i=leftSize+1,j=0;i<nums.length;i++,j++)
        	right[j]=nums[i];
        root.right=sortedArrayToBST(right);
        
        return root;
    }
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AXIMI/article/details/85335359
今日推荐