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

西网站建设公司留电话的广告网站

西网站建设公司,留电话的广告网站,包装设计公司浙江,html5网页设计作品文章目录 题目要求:思路C代码 题目要求: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 思路 首先想到的就是 根节点入队取队头元素(出队&#x…

文章目录

    • 题目要求:
    • 思路
    • C++代码

题目要求:

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

image-20230426143729374

思路

首先想到的就是

  1. 根节点入队
  2. 取队头元素(出队),把队头节点的左右孩子入队。
  3. 重复

但如何要把每一层分别区分出来?★ 关键

一个一个的出显然无法判断是第几层,所以考虑一层一层地出。

用一个变量levelSize记录该层的节点个数,levelSize = queue.size()

levelSize为0的时候:

1. 本层节点已经出完
2. 下一层节点已经入完

解题思路:

利用一个队列q,然后一个vector,

vector里的每个元素都是一个vector<int> 用于存放每一层的数据

  • 根节点入队列
  • 循环开始:获取队列长度作为本层的长度
  • 取出队头元素
  • 队头元素的数据push_back进 vector
  • 把队头元素的左孩子和右孩子入队(如果不为空)
  • 重复循环

当队列为空的时候,遍历结束

C++代码

class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> q;vector<vector<int>> vv;//root不为空,入队if(root){q.push(root);}while(!q.empty()){//本层节点个数int levelSize = q.size();//本层数据vector<int> v;  while(levelSize--){//取队头,出队TreeNode* front = q.front();q.pop();int val = front->val;v.push_back(val);//左右孩子入队if(front->left)q.push(front->left);if(front->right)q.push(front->right);}//本层走完了,更新vvvv.push_back(v);}return vv;}
};
http://www.dtcms.com/wzjs/380503.html

相关文章:

  • 网站建设有关的职位广东网络优化推广
  • 如何做微商城网站百度关键词优化有效果吗
  • 福田蒙派克参数配置旅游企业seo官网分析报告
  • 黄埔商城网站建设青岛seo优化
  • 一般拍卖会在什么网站做seo服务公司怎么收费
  • 网站开发学习什么百度快照手机版
  • 做澳门赌场的网站推荐6个免费国外自媒体平台
  • 移动端网站咋做附近广告公司联系电话
  • 专业网站设计网络服务郑州高端网站建设
  • 网站顾客评价网店推广策略
  • 网站建设功能清单怎么推广自己的产品
  • 重庆建站公司费用市场营销手段有哪四种
  • 网站建设手机站网络推广软件哪个好
  • 免费的ppt模板网seo搜索优化是什么意思
  • 网站移动端做pc端的301跳转今日最新新闻摘抄
  • 做幼儿手工网站比较好用的搜索引擎
  • 做网络 批发的网站猪八戒网接单平台
  • 同一虚拟主机 2个网站网站目录扫描
  • qq邮箱做网站google翻译
  • 网站开发定制多少钱网站收录教程
  • 宁波余姚网站建设广州网站优化方式
  • 哪些网站可以做相册视频seo发外链工具
  • 找人做网站如何担保搜索网排名
  • 景点网站开发积极意义品牌推广是做什么的
  • 建设网站需要的硬件设备360指数官网
  • wap建站系统开源关键词优化的原则
  • 教育网站报名打开网站搜索
  • 高端网站建设服务器刷网站排名软件
  • 深圳网站公司注册如何网站seo
  • 做网站软件有没有专门做营销的公司