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

合肥网站建设团队豌豆荚app下载 官网

合肥网站建设团队,豌豆荚app下载 官网,外贸是做什么的学什么专业,vi设计策划公司本文参考代码随想录 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 思路:寻找分割点,分割点作为当前节点,然后递归左区间和右区间。 递归法 取中间值为root,递归左区间成为root的左孩子&#xff0c…

本文参考代码随想录

将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。

思路:寻找分割点,分割点作为当前节点,然后递归左区间和右区间。

递归法

取中间值为root,递归左区间成为root的左孩子,右区间成为root的右孩子,最后返回root

class Solution {
private:TreeNode* traversal(vector<int>& nums,int left, int right){//若数组为空则返回if(left > right) return nullptr;int mid = left + (right - left) / 2;//防止遇到INT_MAX长度溢出TreeNode* root = new TreeNode(nums[mid]);root->left = traversal(nums, left, mid - 1);root->right = traversal(nums, mid + 1, right);return root;}
public:TreeNode* sortedArrayToBST(vector<int>& nums) {TreeNode* root = traversal(nums, 0, nums.size() - 1);return root;}
};

迭代法

通过三个队列来模拟,一个队列放遍历的节点,一个队列放左区间下标,一个队列放右区间下标

class Solution {
public:TreeNode* sortedArrayToBST(vector<int>& nums) {if(nums.size() == 0) return nullptr;TreeNode* root = new TreeNode(0);queue<TreeNode*> nodeQue;//存放遍历的节点queue<int> leftQue;//存放左区间下标queue<int> rightQue;//存放右区间下标nodeQue.push(root);leftQue.push(0);rightQue.push(nums.size() - 1);while(!nodeQue.empty()){TreeNode* curNode = nodeQue.front();nodeQue.pop();int left = leftQue.front();leftQue.pop();int right = rightQue.front();rightQue.pop();int mid = left + (right - left) / 2;curNode->val = nums[mid];//为根节点赋值if(left <= mid - 1){//左区间存在,则处理左区间curNode->left = new TreeNode(0);nodeQue.push(curNode->left);leftQue.push(left);rightQue.push(mid - 1);}if(right >= mid + 1){//右区间存在,则处理右区间curNode->right = new TreeNode(0);nodeQue.push(curNode->right);leftQue.push(mid + 1);rightQue.push(right);}}return root;}
};
http://www.dtcms.com/wzjs/569470.html

相关文章:

  • 做网站制作步骤图片在线制作二维码
  • 网站建设运营费用wordpress模块咋编辑
  • 江苏省住房保障建设厅网站网站关键词排名如何做
  • 建设一个门户网站需要多少钱网站做很多关键词
  • 江苏优化网站公司哪家好哪里有专业网站建设公司
  • 站长wordpress 当前主题
  • 一般的网站建设玩具 东莞网站建设 技术支持
  • 网站开发前后端工具组合公司网站文化活动备案
  • 想接网站自己做北京装饰装修公司
  • 在线做动漫图的网站织梦网站怎么做优化
  • 传统网站建设架构龙岗网站注册
  • 亚泰国际建设股份有限公司网站5g建设多少网站
  • 来广营网站建设h5页面制作代码
  • 网站外链建设平台网站的成本
  • 制作网站需要哪些工作网站建设在哪里找人
  • 网站建设工资一月多少钱手机网站源码 php
  • 泉州做网站优化物流网站的建设论文
  • 网站备案 新增接入wordpress 宣布
  • 那曲网站建设未来5年网络规划设计师
  • 长沙网站优化价格wordpress 附件目录
  • wordpress子站共享用户名大连大家营销
  • 自己如何做网站推广移动网站开发pdf
  • 哪里有网站建设服务网站建设开淘宝直通车
  • 南宁建设网站公司广州网站改版领军企业
  • 三、网站开发使用软件环境莱芜有名的痞子是谁
  • 如何进行网站备案苏州做网站推广
  • 石家庄自助建站模板wordpress 图片链接
  • 免费网站appwordpress免费批量采集软件
  • 成品网站分享一下前端和网站建设的区别
  • 哈尔滨手机网站建设网站建设的技术团队