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

网站友好度seo零基础入门教程

网站友好度,seo零基础入门教程,免费在线网页代理,dedecms做多语言的网站429. N 叉树的层序遍历 定义一个队列q,将一层的节点入队,并记录节点个数。根据节点的个数,出队列,并将其孩子入队列。出完队列,队列当前剩余节点的个数就是下次出队列的次数。直到队列为空 /* // Definition for a Nod…

429. N 叉树的层序遍历

定义一个队列q,将一层的节点入队,并记录节点个数。根据节点的个数,出队列,并将其孩子入队列。出完队列,队列当前剩余节点的个数就是下次出队列的次数。直到队列为空

/*
// 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>> re;queue<Node*> q;if(root==nullptr) return re;q.push(root);while(!q.empty()){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) //入队当前节点孩子vector<Node*> children{if(child!=nullptr) q.push(child);}}re.push_back(tmp);}return re;}
};

662. 二叉树最大宽度

我们知道二叉树可以用用数组表示定义根节点下标为1,它左孩子下标就是2,右孩子3.

所以 父母节点节点下标 i ,左孩子下标i*2 右孩子下标i*2+1。

1.存入队列中的元素类型为pair<TreeNode*,int>,也要把对应节点的下标传过去。

2.知道队列头节点的下标 尾节点的下标 : i尾 - i头 +1 尾两节点的距离就是当前层最长的距离 

3.算完当前层,再把它们左右孩子入队列,直到队列为空.

/*** 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) {uint32_t re=0;vector<pair<TreeNode*,uint32_t>> q;q.push_back(make_pair(root,1));while(q.size()){//1.记录当前层的最大宽度auto&[x1,y1]=q[0];auto&[x2,y2]=q.back();uint32_t tmp=y2-y1+1;re=max(re,tmp);//2.更新q队列的节点(换下一层)vector<pair<TreeNode*,uint32_t>> t;for(auto&[x,y]:q){if(x->left) t.push_back({x->left,y*2});if(x->right) t.push_back({x->right,y*2+1});}q=t;}return re;}
};

用数组模拟队列,便于找头尾节点。

出队父母节点,入队其孩子节点。不在原数组q上进行,另开数组t入队其孩子节点。入完后再把存有孩子节点的数组t复制到原数组q上,减少数组出队列移动元素的时间。

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

遍历每一层,把每一次的最大值找出来

/*** 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> re;if(root==nullptr) return re;queue<TreeNode*> q;q.push(root);while(!q.empty()){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);}re.push_back(tmp);}return re;}
};

http://www.hrbkazy.com/news/42512.html

相关文章:

  • wordpress小工具九宫格seo技术 快速网站排名
  • 个人网站备案做论坛seo哪家公司好
  • 网站首页图片滚动北京seo网站开发
  • 常州网络推广哪家好seo的优缺点
  • 网站 做 专家问答西安网站优化公司
  • 棋牌网站建设网络营销有哪些例子
  • dw怎么建设网站网络热词排行榜
  • 上海法律网站建设重庆快速网络推广
  • 教做西餐的网站电商运营数据六大指标
  • wordpress分类图片尺寸网站优化seo教程
  • 安顺 网站建设网站优化基本技巧
  • 用discuz做门户网站百度收录查询方法
  • 上海网站推广汉狮西安全网优化
  • 云南企业网站建设免费个人网站建站
  • 网站建设 价格站外推广怎么做
  • 深圳中国电信网站备案浏览器网址
  • 广州安全教育平台登录入囗杭州优化seo公司
  • 大连模板网站制作公司百度怎么推广自己的产品
  • 网站开发商业计划书成都外贸seo
  • 装修设计效果图网站nba最新消息新闻报道
  • 建立一个网页百度seo排名推广
  • 什么软件可以发布广告信息长沙排名优化公司
  • 用数据库做学校网站论文磁力搜索器在线
  • 没有外贸网站 如果做外贸微信管理软件
  • 做网站 空间登封网站设计
  • 上海网站制作维护昆明网络推广优化
  • 企业网站网络推广爱站网长尾挖掘工具
  • 老年人做网站宁波网站推广公司报价
  • 秦皇岛手机网站制作费用代做网页设计平台
  • 上海做网站建设公司福州百度网站排名优化