当前位置: 首页 > wzjs >正文

平潭县机场建设网站做网站难吗?

平潭县机场建设网站,做网站难吗?,做外贸网站需要注意什么,知名网站设计欣赏目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 二、解题思路 ✅ 题目关键点 升序数组 → 所以中间的元素最适合做根节点。 平衡…

目录

一、问题描述

二、解题思路

三、代码

四、复杂度分析


一、问题描述

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

二、解题思路

✅ 题目关键点

  1. 升序数组 → 所以中间的元素最适合做根节点。

  2. 平衡 BST → 任意一个节点的左右子树高度差不超过 1。


🧠 解题思路

我们使用 递归 + 分治 的方式:

  1. 找到当前数组的“中间元素”,作为根节点。

  2. 左半部分递归构建左子树,右半部分递归构建右子树。

  3. 返回根节点。


✅ 图示说明

假设数组是 [ -10, -3, 0, 5, 9 ]

  • 中间是 0 → 设为根节点

  • 左边 [ -10, -3 ] → 构建左子树

  • 右边 [ 5, 9 ] → 构建右子树

构建完就得到一棵平衡的 BST。

    三、代码

    /*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/class Solution {
    public:TreeNode* sortedArrayToBST(vector<int>& nums) {return buildBST(nums, 0, nums.size() - 1); // 调用辅助函数,传入数组和左右边界}private:// 辅助函数:递归构建平衡 BSTTreeNode* buildBST(const vector<int>& nums, int left, int right) {if (left > right) return nullptr; // 递归终止条件:空区间int mid = left + (right - left) / 2; // 找中间位置,避免溢出TreeNode* node = new TreeNode(nums[mid]); // 当前节点node->left = buildBST(nums, left, mid - 1);   // 递归构建左子树node->right = buildBST(nums, mid + 1, right); // 递归构建右子树return node; // 返回当前节点}
    };
    

    四、复杂度分析

    • 时间复杂度:O(n)
      每个元素都恰好被访问一次。

    • 空间复杂度:O(log n)(递归栈空间)
      取决于树的高度,平衡 BST 的高度是 log 级别。


    文章转载自:

    http://xM7F6zEp.bpmns.cn
    http://fVthr9x3.bpmns.cn
    http://MCl5nFX0.bpmns.cn
    http://fOsXvUHZ.bpmns.cn
    http://Ew3O9wKp.bpmns.cn
    http://tFNlhpSt.bpmns.cn
    http://ZTU5ItH9.bpmns.cn
    http://Q17I21Vi.bpmns.cn
    http://7NfQgdjG.bpmns.cn
    http://7eyZKUj5.bpmns.cn
    http://QS4He4L7.bpmns.cn
    http://tOBClFJC.bpmns.cn
    http://Tsnfv9bF.bpmns.cn
    http://GfMJspGt.bpmns.cn
    http://vQ2FrJWr.bpmns.cn
    http://hICOGBG6.bpmns.cn
    http://kfA1KjwG.bpmns.cn
    http://V0amHHpm.bpmns.cn
    http://sKLCoWhA.bpmns.cn
    http://mFRfedy9.bpmns.cn
    http://Csnctdai.bpmns.cn
    http://8LX8A6LJ.bpmns.cn
    http://TdUEvTY2.bpmns.cn
    http://y0mbCX9w.bpmns.cn
    http://OeYmEfC6.bpmns.cn
    http://dhUFvwEK.bpmns.cn
    http://fsxJn6Gc.bpmns.cn
    http://nF2BJcew.bpmns.cn
    http://31J11VTk.bpmns.cn
    http://sZkUxb0f.bpmns.cn
    http://www.dtcms.com/wzjs/654571.html

    相关文章:

  1. wordpress 登陆界面襄阳抖音seo找哪家
  2. 网站改版301怎么做如何做简单视频网站
  3. 企业网站结构asp.net mvc做网站难吗
  4. 自己弄个网站昌吉建设网站
  5. 企业商城网站建设方案顺德网站建设基本流程
  6. 网站模块制作知名企业门户网站建设联系电话
  7. 网站不被收录了远大科技 网站建设
  8. 公司建站电脑QQ浮动窗口怎做电脑网站
  9. 深圳设计网页制作公司seo是什么职业做什么的
  10. 响应式网站推广长春网络建站
  11. 镇江网站网站建设少儿编程加盟哪个品牌好
  12. 用了wordpress的网站aaa免费服务器
  13. 青海建设厅网站黑名单班级网站建设思路
  14. 背景色搭配网站北京大学网络服务
  15. 郑州市 网站建设wordpress采集微信公众文章内容
  16. wordpress文章批量编辑器汕头seo网站排名
  17. 南阳专业网站排名推广百度网页版
  18. qq空间刷赞网站推广佛山建网站价格
  19. 怀化网站优化多少钱专注于网络推广及网站建设
  20. ps做网站时画布宽度做网站技术方法有
  21. 网站更改建设方案模板东莞网络公司哪家好
  22. 网站开发公司售后服务如何让产品吸引顾客
  23. 微信群如何推广网站建设学网站开发哪个好
  24. 云南网络公司网站建设html5网站开发价格
  25. eclipse开发网站用vue做前端wordpress vip
  26. 南昌哪个公司做网站好wordpress出错
  27. 简单学校网站模板外贸营销方式有哪些
  28. 网站备案期间做什么网站统计 中文域名
  29. 长沙专业建设网站企业网站关键词多少个好
  30. 网站备案个人信息泄露wordpress开源社区