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

英文网站标题国内工业设计网站

英文网站标题,国内工业设计网站,做国际网站阿里巴巴,深圳网站做的好的公司哪家好这篇博客是关于队列宽搜的几道题#xff0c;主要包括N叉树的层序遍历、二叉树的锯齿形层序遍历、二叉树最大宽度、在每个数行中找最大值。 class Solution { public:vectorvectorint levelOrder(Node* root) {vectorvectorint ret;if(!root) … 这篇博客是关于队列宽搜的几道题主要包括N叉树的层序遍历、二叉树的锯齿形层序遍历、二叉树最大宽度、在每个数行中找最大值。 class Solution { public:vectorvectorint levelOrder(Node* root) {vectorvectorint ret;if(!root) return ret;queueNode* q;q.push(root);while(q.size()){int num q.size(); //先求出本层的元素个数vectorint tmp; //统计本层的节点while(num--){Node* top q.front();q.pop();tmp.push_back(top-val);for(auto e : top-children){if(e ! nullptr)q.push(e);}}ret.push_back(tmp);}return ret;} }; 题目分析这道题我们需要层序遍历需要借助一个队列实现首先将第一层节点放进队列然后出队列在出队列后把它的孩子节点都push到队列中再依次把这几个孩子节点出队列每一个节点出队列后都要马上把它的孩子节点push到队列。为了知道每层有几个节点在每一层出队列前需要统计队列里的元素个数。 class Solution { public:vectorvectorint zigzagLevelOrder(TreeNode* root) {vectorvectorint ret;if(!root) return ret;queueTreeNode* q;q.push(root);int flag 1;while(q.size()){int sz q.size();vectorint tmp;for(int i 0 ; i sz ; i){TreeNode* top q.front();q.pop();tmp.push_back(top-val);if(top-left) q.push(top-left);if(top-right) q.push(top-right);}if(flag % 2 0){reverse(tmp.begin(), tmp.end());}ret.push_back(tmp);flag;}return ret;} }; 题目分析仍然是使用队列来存放节点和上一题不同的是在得到偶数层的队列后需要将其逆序一下可以通过创建一个变量来判断奇偶层。 class Solution { public:int widthOfBinaryTree(TreeNode* root) {vectorpairTreeNode*,unsigned int queue;unsigned int ret 0;queue.push_back({root, 1});while(queue.size()){auto [x1, y1] queue[0];auto [x2, y2] queue.back();ret max(ret, y2 - y1 1);vectorpairTreeNode*,unsigned int tmp;for(auto [x, y] : queue){if(x-left) tmp.push_back({x-left, 2*y});if(x-right) tmp.push_back({x-right, 2*y 1}); }queue tmp;} return ret;} }; 题目分析这道题我们可以使用数组存储二叉树的方式给节点编号数组的类型为pairTreeNode*,intint为这个节点的编号一层的两端节点编号相减1就是这层的宽度。 需要注意的是下标可能溢出所以不能用int存储节点编号而是用unsigned int 存储。 class Solution { public:vectorint largestValues(TreeNode* root) {queueTreeNode* q;vectorint ret;if(!root) return ret;q.push(root);// ret.push_back(root-val);while(q.size()){int size q.size();int m INT_MIN;while(size--){TreeNode* top q.front();q.pop();m max(m, top-val);if(top-left) q.push(top-left);if(top-right) q.push(top-right);}ret.push_back(m);}return ret;} }; 题目分析很简单利用层序遍历统计每一层的最大值。
http://www.hkea.cn/news/14300422/

相关文章:

  • 查找网站域名现在都用什么网站找事做
  • Python做网站难不难免费建网站可信吗
  • 重庆手机网站推广价格建立一个网站需要什么技术
  • 北京南站停车场收费标准百度广告收费
  • 企业网站建设费计入什么科目it企业网站模板下载
  • 网站建设工作室制作平台建立网上商城应考虑哪些问题
  • 找论文的免费网站网站建设职能绩效目标
  • 外贸流程是什么如何优化推广网站
  • 漂亮的网站是什么建设出来的湖州公司网站建设公司
  • 陕西省住房和建设厅网站wordpress 导出数据库
  • 化妆网站建设的目的企业网站优化服务
  • 巫山那家做网站东莞网站建设推广公司
  • 制作网站首页分为哪几部分提供坪山网站建设
  • 网站后台用什么做手机端尺寸
  • 筑巢网站后台管理系统引流软件有哪些
  • 网站建设设计图图片wordpress 抓取微信
  • 丽水市建设监理协会网站在哪里怎样做网站个人简介
  • 如何建立一个视频网站凡科建设网站步骤
  • 自学网站开发难吗个人怎么开通微信小程序
  • 夜间正能量网站网站为什么吸引人
  • 合格的网站设计师需要会什么软件建筑人才网app下载
  • 美食网站建设的背景网站建设费用什么意思
  • 动漫做a视频网站有哪些wordpress无广告视频
  • 博客网站开发教程软件开发合同模板范本1
  • 前后端分离企业网站源码少儿编程课
  • 完全自定义纯代码打造你的wordpress站点侧边栏福州鼓楼区建设局网站
  • 网站站点是什么?如何创建站点?外贸网站分析
  • 合肥网站建设过程固原网站制作
  • 电脑上建设银行网站打不开网站配色 绿色
  • 杭州 企业门户网站建设软文世界官网