美文网首页
108. Convert Sorted Array to Bin

108. Convert Sorted Array to Bin

作者: 花落花开花满天 | 来源:发表于2018-11-15 20:59 被阅读0次

将数组转化为平衡二叉树,方法是将数组中间的数作为根节点,数组左边为左节点,数组右边为右节点。

注意点:

1.注意中间节点的选择:size=end-start+1;mid=start+(size/2);(网上基本上都是(end-start)/2,个人感觉不合理)。

参考了人家的文章:https://blog.csdn.net/u012814856/article/details/77894863

代码:

TreeNode* trval(vector& nums,intstart,intend)

{

    if(start>end)

        return NULL;

    intsize=end-start+1;

    intmid=start+(size/2);

    TreeNode* root=newTreeNode(nums[mid]);

    if(mid==start)

        root->left=NULL;

    else

        root->left=trval(nums, start, mid-1);

    if(mid==end)

        root->right=NULL;

    else

        root->right=trval(nums, mid+1, end);

    returnroot;

}

TreeNode* sortedArrayToBST(vector& nums)

{

    TreeNode* root=trval(nums,0,nums.size()-1);

    returnroot;

}

相关文章

网友评论

      本文标题:108. Convert Sorted Array to Bin

      本文链接:https://www.haomeiwen.com/subject/wjeufqtx.html