给定一个数组和它的大小,将他的数值存在一棵树中且要求树的高度最小

struct TreeNode* sortedArrayToBST(int* nums, int Size)    //给出一个数组和它的大小
{
    if(Size==0)                                            //数组为空,返回空树
        return NULL;
    int i= Size/2;
    struct TreeNode* root =(struct TreeNode*)malloc(sizeof(struct TreeNode));//给树的根节点分配内存空间
    root->val=nums[i];                                                            //给树的根节点赋值
    root->left=sortedArrayToBST(nums,i);                                        //给树的左子树赋值
    root->right=sortedArrayToBST(nums+1+i,Size-i-1);                            //给树的右子树赋值
    return root;                                                                //返回
}
 

猜你喜欢

转载自blog.csdn.net/m0_47575628/article/details/108984447