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

配置网站开发有没有专门做家乡图片的网站

配置网站开发,有没有专门做家乡图片的网站,wordpress竖版图片尺寸,做网站哪个编辑器好用力扣日记#xff1a;【二叉树篇】108. 将有序数组转换为二叉搜索树 日期#xff1a;2023.1.14 参考#xff1a;代码随想录、力扣 108. 将有序数组转换为二叉搜索树 题目描述 难度#xff1a;简单 给你一个整数数组 nums #xff0c;其中元素已经按 升序 排列#xff0c;…力扣日记【二叉树篇】108. 将有序数组转换为二叉搜索树 日期2023.1.14 参考代码随想录、力扣 108. 将有序数组转换为二叉搜索树 题目描述 难度简单 给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1 输入nums [-10,-3,0,5,9] 输出[0,-3,9,-10,null,5] 解释[0,-10,5,null,-3,null,9] 也将被视为正确答案 示例 2 输入nums [1,3] 输出[3,1] 解释[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。 提示 1 nums.length 10^4-10^4 nums[i] 10^4nums 按 严格递增 顺序排列 题解 /*** 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 { #define SOLUTION 2 public: #if SOLUTION 1TreeNode* sortedArrayToBST(vectorint nums) {if (nums.size() 0) return nullptr;// 中节点的位置int index nums.size() / 2;TreeNode* node new TreeNode(nums[index]);// 中节点左边和右边的数组分别作为左右子树去构建(左子树为BST 右子树为BST - root为BST)// 而且最后一定也是高度平衡二叉树vectorint leftNum(nums.begin(), nums.begin() index); // 左子树[startIdx, endIdx)vectorint rightNum(nums.begin() index 1, nums.end()); // 右子树node-left sortedArrayToBST(leftNum); // 左子树(自身也是BST)作为左节点node-right sortedArrayToBST(rightNum); // 右子树(自身也是BST)作为右节点return node;} #elif SOLUTION 2 // 下标索引TreeNode* sortedArrayToBST(vectorint nums) { return buildTree(nums, 0, nums.size() - 1); // 左闭右闭}// 循环不变量左闭右闭 [left, right]// 返回值为构造的二叉树的根节点输入为原始数组以及子数组的起始位置TreeNode* buildTree(vectorint nums, int left, int right) {// 终止条件if (left - right 0) return nullptr; // 相等也是符合条件的,则index left// 获得子数组的中点位置// int index (left right) / 2; // 可能溢出int index left (right - left) / 2;TreeNode* node new TreeNode(nums[index]);// 递归左区间node-left buildTree(nums, left, index - 1); // 左闭右闭// 递归右区间node-right buildTree(nums, index 1, right); // 左闭右闭return node;} #endif };复杂度 时间复杂度 空间复杂度 思路总结 构造二叉树本质就是寻找分割点分割点作为当前节点然后递归左区间和右区间。对于二叉搜索树的有序数组其数组中点即为分割点注意在构造二叉树的时候尽量不要重新定义左右区间数组而是用下标来操作原数组解法一和解法二。按照这种方法构造出二叉搜索树自然而然就是高度平衡二叉树
http://www.pierceye.com/news/160296/

相关文章:

  • 标准网站有哪些西安市沣东新城建设局网站
  • 对php网站开发技术课程总结广州网站策划公司
  • 站长工具爱站微信服务商平台官网
  • 中山市网站建设公司网页设计与制作教程第4版
  • 旅游类网站开发设计报告工信部清理未备案网站
  • 永久免费自助建站源代码行业类网站模板
  • 通辽建设网站知名品牌形象设计公司
  • 做一家网站费用网站建设有关的职位
  • 网站后台无编辑器扒人家网站做网站
  • 有什么网站做打印店网站开发计划甘特图
  • 网页模板好的网站好滑县网站建设服务
  • 做网站需要学会些什么建设网银登录官方网站
  • phpcms双语网站怎么做深圳做地铁的公司网站
  • 郑州的电子商城网站建设济南网站建设大标网络
  • 网站建设前端和后端的区别网站建设未来发展
  • 深圳网站制作公司建设网站seo视频狼雨seo教程
  • 建网站做优化重庆世界500强企业
  • 手机网站建设合同拼多多网店
  • 手机网站二级域名网站开发多少钱一个
  • 车险网站模版在线表白网页制作
  • 网站建设寻找可以途径wordpress 调试php代码
  • 济南优化seo网站建设微信公众号?
  • 武夷山网站推广三星网上商城下载
  • wap网站开发文案素材网站
  • 做网站需要用什么系统昆山张浦做网站
  • 钟祥建设局网站网页样式与布局
  • j建设银行信用卡网站天河外贸网站建设
  • 石家庄网站建设招商wordpress漫画主题
  • 河南省建设厅网站查询佛山著名网站建设公司
  • 山东搜点网站建设哪家公司做网站最好