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

升腾d9116 做网站新闻热搜榜 今日热点

升腾d9116 做网站,新闻热搜榜 今日热点,现在石家庄做网站的公司有哪几家,做网站开票内容是什么目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给你一个整数数组 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://www.dtcms.com/wzjs/265226.html

    相关文章:

  1. 有口碑的常州网站建设长沙网络营销哪家平台专业
  2. 杭州城乡建设网站如何优化推广中的关键词
  3. 提供虚拟主机服务的网站如何设计网站步骤
  4. 网站建设大约多少钱收录情况
  5. scrm搜外seo视频 网络营销免费视频课程
  6. 怎么获取网站的图片seo收费
  7. 网页特效代码网站河北seo平台
  8. 如何制作自己的视频网站seo网站分析
  9. 外贸网站都有那些惠州疫情最新情况
  10. 怎么做网站的自然排名百度热门关键词排名
  11. 免费国外b2b网站有哪些营销团队找产品合作
  12. 做网站用哪个写比较好百度识图网页版 在线
  13. 团购酒店的网站建设现在有什么技能培训班
  14. 朝阳网站建设 国展怎样创建一个网站
  15. 东胜网站建设网络优化公司有哪些
  16. 中融木业网站是那个网站做的北京网络推广外包公司排行
  17. 网络营销的功能包括扬州seo博客
  18. 全国网站建设公司排行版重庆百度快速优化
  19. 和城乡建设厅官方网站百度搜索指数排名
  20. 住房城乡建设行业从业人员seo站点是什么意思
  21. 前端做网站难吗经典软文推广案例
  22. wordpress怎么看网站日志文件如何注册域名网站
  23. 专业做网站+上海百度扫一扫入口
  24. 百度推广需要先做网站吗上海最新发布
  25. 什么公司网站建设比较好搜索指数的数据来源
  26. 提供衡水网站建设企业网站的网络营销功能
  27. 深圳网站建设公司团队培训学校资质办理条件
  28. 哪个网站可以做视频片头大数据技术主要学什么
  29. 小企业网站免费建设网络口碑推广公司
  30. 网站推广方法有几个国内比百度好的搜索引擎