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

成都搭建企业网站一造和一建哪个难度大

成都搭建企业网站,一造和一建哪个难度大,网站建设 移动端 和 PC端,移动互联网时代的信息安全与防护超星网课答案429. N 叉树的层序遍历 题目解析#xff1a; 根据题目分析#xff0c;可以看出题目要我们求的是N叉数的层序遍历#xff0c;就是把每层的放在一块#xff0c;最后把每层都输出出来即可#xff01; 算法分析#xff1a; 我们可以利用队列先进先出的特性进行求解#x…429. N 叉树的层序遍历 题目解析 根据题目分析可以看出题目要我们求的是N叉数的层序遍历就是把每层的放在一块最后把每层都输出出来即可 算法分析 我们可以利用队列先进先出的特性进行求解这里比层序遍历多了一个条件记录当前层有多少个节点然后只把当前层的节点出完即可就是一层一层的进行输出我们需要记录每层的节点的值所以我们应该使用一个vector存储每层的节点然后最终将每层的结点放到最终的vector中即可 代码 class Solution { public:vectorvectorint levelOrder(Node* root){//定义一个队列用于进行出队的操作queueNode* q;vectorvectorintret;//首先判断给定的根节点是否为空为空的话直接结束if(rootnullptr){return ret;}//不为空q.push(root);//当队中一直存在元素时一直进行遍历即可while(q.size()){//统计出本层的节点个数//只需要进行出队len次即可完成本次的出队操作int lenq.size();for(int i0;ilen;i){Node*temq.front(); //队头元素q.pop();v.push_back(tem-val); //将本层节点的值进行放入到vector中for(Node* child:tem-children){//本次元素出队之后将其孩子进行入队操作if(child){q.push(child);}}}ret.push_back(v);}return ret;} }; 103. 二叉树的锯齿形层序遍历 题目解析 根据题目分析我们可以得出题目要让我们第一次进行从左向右遍历第二层进行从右向左遍历如此往复返回最终遍历的结果 算法分析 对于本题还是和之前二叉树的变量一样只不过是多了一个条件而言相邻的每行的遍历顺序恰好相反所以我们可以设置一个flag变量用于标志何时进行逆置即可当flag满足逆置的条件时我们把本层结点的vector进行reverse即可 代码 class Solution { public:vectorvectorint zigzagLevelOrder(TreeNode* root){vectorvectorintret;queueTreeNode*q;if(rootnullptr){return ret;}int flag1;q.push(root);while(q.size()){int lenq.size();//奇数为从左向右偶数相反//直接全部使用从左向右对于偶数的情况我们只需要将得到的vector进行reverse然后再插入即可vectorintv;for(int i0;ilen;i){TreeNode*temq.front();q.pop();v.push_back(tem-val);//下一层元素进行入队//左右孩子入队列if(tem-left){q.push(tem-left);}if(tem-right){q.push(tem-right);}}if(flag-1){reverse(v.begin(),v.end());}ret.push_back(v);flag*-1;}return ret;} }; 662. 二叉树最大宽度 题目解析 根据题目分析我们可以得出题目要我们求出二叉树的最大宽度其中最大宽度的定义为最左和左右的非空节点之间的长度 算法分析 我们可以利用堆中下标的思想进行求解我们在堆那边有一个公式当根节点下标为0时左孩子下标为2*parent1,右孩子下标为左孩子1。当根节点为1时左孩子下标为2*parent,右孩子仍然是左孩子1根据下标的特性我们可以求出二叉树的最大宽度 代码 class Solution { public:int widthOfBinaryTree(TreeNode* root) {vectorpairTreeNode*, unsigned int q; // ⽤数组模拟队列q.push_back({root, 1});unsigned int ret 0;while(q.size()){// 先更新这⼀层的宽度auto[x1, y1] q[0];auto[x2, y2] q.back();ret max(ret, y2 - y1 1);// 让下⼀层进队vectorpairTreeNode*, unsigned int tmp; // 让下⼀层进⼊这个队列for(auto [x,y] : q){if(x-left) tmp.push_back({x-left, y * 2});if(x-right) tmp.push_back({x-right, y * 2 1});}q tmp;}return ret;}}; 515. 在每个树行中找最大值 题目解析 根据题目简单的介绍我们可以得出题目要出的答案就是获取每层的最大值然后进行push到结果数组中即可 算法讲解 还是和N叉数的层序遍历一样我们还是需要记录的每层结点的个数只不过本次我们需要引进一个新的变量用于记录每层的最大值即可我们开始将此变量置为INT_MIN即可 代码  class Solution { public:vectorint largestValues(TreeNode* root){queueTreeNode*q;vectorintret;if(rootnullptr){return ret;}q.push(root);//当队列不为空的时候一直进行循环即可while(q.size()){ int mINT_MIN;//求出本层的结点个数int lenq.size();for(int i0;ilen;i){TreeNode*temq.front();q.pop();if(tem-valm){mtem-val;}//把下一层的元素压入到队列中if(tem-left){q.push(tem-left);}if(tem-right){q.push(tem-right);}}ret.push_back(m);}return ret;}}; 至此本专题总结完毕有疑问的小伙伴可以在评论区进行讨论。
http://www.pierceye.com/news/429291/

相关文章:

  • 展览中心网站建设优质的成都网站建设推
  • 建材网站模板济南建设集团网站
  • 合肥市建设建筑网站wordpress医院主题
  • 做ui要上那些网站完全免费网站源码
  • 集团企业网站建设建立网站有哪些步骤
  • 如何做自己的网站整合营销和链路营销
  • 外贸网站的公司介绍响应式布局代码例子
  • 校园网站的意义保定建设厅网站
  • 网站域名注册后怎么打开网站ip安装wordpress
  • 山西太原做网站网站开发上线流程
  • 江门网站建设多少钱网页服务器一年多少钱
  • 网站开发属于什么行业农商网站建设个人总结
  • 网站建设业务开展方案昆明市城市基本建设档案馆网站
  • 湖南网站托管做招聘网站排名
  • 主机屋免费网站空间网站建设安全标准
  • .net cms网站管理系统生态养殖网站模板
  • 国外网站一般公司网站是什么设计师做
  • 备案停止网站网站建设研究课题
  • 个人网站开发是学什么语言网站建设 总体思路
  • 网站怎么留住用户在什么地方可以接到做网站的活
  • jsp页面如何做网站pv统计wordpress4.7.10
  • 澄海网站建设用asp做网站怎么美观
  • 未满18岁能申请网站备案吗网站做qq链接
  • 网络公司网站开发互联网技术专业学什么
  • 校园网站建设详细的设计方案php网站开发实战
  • 网站设计广州量计价格网站可信度建设
  • 门业网站 源码做企业网站必须要座机吗
  • 广东网站开发推荐wordpress快速加载
  • php网站开发外包北京网站建设迈程网络
  • 微信开发者平台取消授权seo资源网站排名