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

佘山做网站公司教育机构加盟

佘山做网站公司,教育机构加盟,网站建设的需求和目的,二级单位网站建设目录 1. N叉树的层序遍历 2. 二叉树的锯齿层序遍历 3. 二叉树最大宽度 4. 在每个树行中找最大值 1. N叉树的层序遍历 题目链接:429. N 叉树的层序遍历 - 力扣(LeetCode) 题目展示: 题目分析: 层序遍历即可~仅…

目录

1. N叉树的层序遍历

2.  二叉树的锯齿层序遍历

3. 二叉树最大宽度

4. 在每个树行中找最大值


1. N叉树的层序遍历

题目链接429. N 叉树的层序遍历 - 力扣(LeetCode)

题目展示

题目分析

层序遍历即可~仅需多加⼀个变量,用来记录每⼀层结点的个数就好了。

代码实现:

/*
// Definition for a Node.
class Node {
public:int val;vector<Node*> children;Node() {}Node(int _val) {val = _val;}Node(int _val, vector<Node*> _children) {val = _val;children = _children;}
};
*/class Solution {
public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> ret;queue<Node*> q;if(root==nullptr){return ret;}q.push(root);while(q.size()){int sz=q.size();//记录当前层节点个数vector<int> tmp;//统计本层节点for(int i=0;i<sz;i++){Node* t=q.front();q.pop();tmp.push_back(t->val);for(Node* child:t->children)//让下一层节点入队{if(child!=nullptr){q.push(child);}}}ret.push_back(tmp);}return ret;}
};

2.  二叉树的锯齿层序遍历

题目链接103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode)

题目展示:

题目分析:

在正常的层序遍历过程中,我们是可以把⼀层的结点放在⼀个数组中去的。 既然我们有这个数组,在合适的层数逆序就可以得到锯齿形层序遍历的结果。

代码实现:

/*** 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 {
public:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>> ret;if(root==nullptr){return ret;}queue<TreeNode*> q;q.push(root);int level=1;while(q.size()){int sz=q.size();vector<int> tmp;for(int i=0;i<sz;i++){auto t=q.front();q.pop();tmp.push_back(t->val);if(t->left) q.push(t->left);if(t->right) q.push(t->right);}//判断是否需要逆序if(level%2==0) reverse(tmp.begin(),tmp.end());ret.push_back(tmp);level++;}return ret;}
};

3. 二叉树最大宽度

题目链接662. 二叉树最大宽度 - 力扣(LeetCode)

题目展示:

题目分析:

代码实现: 

/*** 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 {
public:int widthOfBinaryTree(TreeNode* root) {vector<pair<TreeNode*,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);//让下一层进队vector<pair<TreeNode*,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;}
};

4. 在每个树行中找最大值

题目链接:515. 在每个树行中找最大值 - 力扣(LeetCode)

题目展示:

题目分析:

代码实现:

/*** 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 {
public:vector<int> largestValues(TreeNode* root) {vector<int> ret;if(root==nullptr) return ret;queue<TreeNode*> q;q.push(root);while(q.size()){int sz=q.size();int tmp=INT_MIN;for(int i=0;i<sz;i++){auto t=q.front();q.pop();tmp=max(tmp,t->val);if(t->left) q.push(t->left);if(t->right) q.push(t->right);}ret.push_back(tmp);}return ret;}
};

http://www.dtcms.com/wzjs/452328.html

相关文章:

  • 东莞商城网站建设哪家公司靠谱经典seo伪原创
  • 为什么做网站能赚钱郑州网站建设公司
  • 重庆建筑行业认证培训网陕西网站seo
  • 怎么获取网站数据做统计搜索引擎营销特点是什么
  • 人才招聘网最新招聘信息如何对一个网站进行seo
  • 网站制作策划建设大纲网站搭建工具
  • 在国外网站建设潍坊网站模板建站
  • 小学网站建设方案书seo白帽优化
  • 网站建设客户问题湖南官网网站推广软件
  • 上海公司官网重庆百度推广关键词优化
  • vscode 网站开发最新新闻热点事件摘抄
  • wordpress+国内不使用企业怎么做好网站优化
  • 企业网站的做seo软件下载
  • 商务网站开发考卷网站不收录怎么解决
  • 网站建设是怎么赚钱的深圳谷歌seo推广
  • 电器网站建设目的西安百度竞价托管公司
  • 阿里云零基础网站建设教学济南seo优化
  • 济南哪里做网站好聚合广告联盟
  • 专业的设计网站百度广告联盟官网
  • 管家通库存管理软件昆明网站seo服务
  • epcms网站模板广东省各城市疫情搜索高峰进度
  • 深圳民治做网站百度收录时间
  • 网站建设运维情况查网站
  • 咸阳网站建设哪家专业竞价广告代运营
  • 可以做兼职的网站seo关键词推广公司
  • wordpress网站打开卡互联网营销师培训机构
  • 网站未备案做seo会被k吗软文范例大全800
  • 温州网站建设哪家好哪个浏览器看黄页最快夸克浏览器
  • 网站建设完成的时间媒体吧软文平台
  • 免费创建论坛网站seo关键词排名技术