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

用手机能建网站吗wordpress 多用户插件

用手机能建网站吗,wordpress 多用户插件,wordpress月亮,四川网站备案从中序与后序遍历序列构造二叉树 首先,得知道中序遍历和后序遍历的特点: 中序遍历是:左中右后序遍历是:左右中 这道题的大致思路: 后序遍历的最后一个值是“中”也就是一棵树的根节点。找到“中”后&#x…

从中序与后序遍历序列构造二叉树

首先,得知道中序遍历和后序遍历的特点:        

  • 中序遍历是:左中右
  • 后序遍历是:左右中

这道题的大致思路:

  1. 后序遍历的最后一个值是“”也就是一棵树的根节点。
  2. 找到“中”后,再去中序遍历结果中找出左子树的序列长度和中序遍历序列,以及右子树的中序遍历序列
  3. 左子树的中序遍历的序列长度会和后序遍历长度一样,所以可以从后序遍历结果中接着提取左子树的后序遍历序列右子树后序遍历序列
  4. 以“中”的值以及递归创建的左右子树的指针创建一棵树并返回。

代码(这份代码是最初的思路,并不是最高效的方式,因为每一次递归都会创建4个向量,最直接的方式其实是原地扫描两个序列向量,只需要传递下标值就好):

class Solution {
public:TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {int len = postorder.size();//递归的终点状态是节点为空if(len == 0 ) return nullptr;int left_size;//后序的最后一个节点是“左右中”的中,在中序遍历里找到该节点int mid_val = postorder[len-1];//确定左子树的序列范围for(int i = 0;i<len;i++){if(inorder[i]==mid_val){left_size = i;break;}}//确定左右子树的中序遍历和后序遍历序列vector<int> left_inorder(inorder.begin(),inorder.begin()+left_size);vector<int> left_postorder(postorder.begin(),postorder.begin()+left_size);vector<int> right_inorder(inorder.begin()+left_size+1,inorder.end());vector<int> right_postorder(postorder.begin()+left_size,postorder.end()-1);//递归创建左右子树,左右子树的序列范围是一样的长度return new TreeNode(mid_val,buildTree(left_inorder,left_postorder),buildTree(right_inorder,right_postorder));}
};

最大的二叉树

这道题的思路类似上一题递归构建树的方式:

  1. 先找到根节点:最大值
  2. 确定左子树的序列和右子树的序列
  3. 递归构建左右子树,并返回构建好的树的地址

代码:

class Solution {
public:TreeNode* constructMaximumBinaryTree(vector<int>& nums) {int len = nums.size();if(len ==0) return nullptr;int max_val = nums[0];int max_index = 0;//确定根:数组的最大值for(int i = 0;i<len;i++){if(max_val < nums[i]){max_val = nums[i];max_index = i;}}//递归构建左右子树,并返回新的树vector<int> left_nums(nums.begin(),nums.begin()+max_index);vector<int> right_nums(nums.begin()+max_index+1,nums.end());return new TreeNode(max_val,constructMaximumBinaryTree(left_nums),constructMaximumBinaryTree(right_nums));}
};

小结一下,这两道题的思路差不多一致,都是先找出根节点,左子树序列,右子树序列,然后递归生成树。

http://www.dtcms.com/a/513868.html

相关文章:

  • 德州网站建设哪家好长沙建筑公司排名
  • 2003网站建设大数据获客
  • 石排网站仿做中方元建设工程 网站
  • pc网站运营把两个网站合并到一个网页
  • 课程视频网站建设的必要性wordpress搜索功能主题
  • 建立一个个人网站类似12306网站开发
  • 诺诚建设工程有限公司网站高质量免费的网站
  • 无锡哪里做网站好视频制作网
  • 做网站横幅技巧民治网站建设
  • 网站开发接口文档浙江企业年报网上申报入口
  • 辽宁咨发建设监理预算咨询有限公司网站中建八局第一建设有限公司装饰
  • 软考系规:论文写作子题目预测及写作提示
  • cms网站建设的优缺点创意摄影网站
  • 长沙做网站大概多少钱上海网络推广公司兴怡
  • 怎样编辑网站标题长春网络推广服务
  • 西安市城乡建设管理局网站怎么制作微信小程序app
  • 杭州网站制作公司网站东西湖区建设局网站
  • 湛艺建设集团网站公司邮箱怎么注册
  • 信息系统开发方案如何做网站百度排名优化
  • 网站建设公司成都竞价推广营销
  • 网站建设同步视频大连零基础网站建设培训哪里有
  • asp网站模板源码免费无限下载网页制作软件
  • 萍乡建网站wordpress 自动生成标签
  • 建网站一般用什么工具wordpress去除 版权
  • 衡水做网站的地方美食网站的建设目的
  • wordpress新站5天收录用树莓派做网站服务器好吗
  • c语言做的网站有什么优缺点天津市城乡建设网站
  • 重庆网站建设推广公司哪家好图片手机显示wordpress
  • 嘉兴模板建站定制网站工厂管理系统软件
  • 网站哪里备案有区别么网站广告销售怎么做