目录

102. 二叉树的层序遍历

107. 二叉树的层序遍历 II

103. 二叉树的锯齿形层序遍历

429. N 叉树的层序遍历


102. 二叉树的层序遍历

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

class Solution {
public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res;queue<TreeNode*> q;if(root)q.push(root);while(!q.empty()){vector<int>temp;int size = q.size();while(size--){TreeNode* cur = q.front();    q.pop();temp.push_back(cur->val);if(cur->left)q.push(cur->left);    //左右孩子存在则入队列if(cur->right)q.push(cur->right);}res.push_back(temp);}return res;}
};

107. 二叉树的层序遍历 II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

class Solution {
public:vector<vector<int>> levelOrderBottom(TreeNode* root) {vector<vector<int>> res;queue<TreeNode*> q;if(root)q.push(root);while(!q.empty()){vector<int>temp;int size = q.size();while(size--){TreeNode* cur = q.front();    q.pop();temp.push_back(cur->val);if(cur->left)q.push(cur->left);    //左右孩子存在则入队列if(cur->right)q.push(cur->right);}res.push_back(temp);}reverse(res.begin(), res.end());return res;}
};

103. 二叉树的锯齿形层序遍历

给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

class Solution {
public:vector<vector<int>> zigzagLevelOrder(TreeNode* root) {vector<vector<int>> res;queue<TreeNode*> q;if(root) q.push(root);int flag = 0;while(!q.empty()){int size = q.size();vector<int> temp;while(size--){TreeNode* cur = q.front();q.pop();temp.push_back(cur->val);if(cur->left) q.push(cur->left);if(cur->right) q.push(cur->right);}if(flag%2==1)   // 多加入一个flag标志位判断是从左往右还是从右往左reverse(temp.begin(), temp.end());flag+=1;res.push_back(temp);}return res;}
};

429. N 叉树的层序遍历

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/n-ary-tree-level-order-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> res;    // 存放返回结果queue<Node*> q;if(root)q.push(root);while(!q.empty())   {vector<int> temp;int size = q.size();    //获取当前队列中元素个数while(size--)       //逐层遍历,将每一层的元素放入同一个数组,最终将该层元素数组放入res中{Node* cur = q.front();      //访问size个队头元素q.pop();temp.push_back(cur->val);for(Node* e : cur->children)    //孩子全部入队列{q.push(e);}}res.push_back(temp);}return res;}
};

BFS(二)二叉树层序遍历(I、II)、二叉树锯齿形层序遍历、N叉树层序遍历相关推荐

  1. 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先

    前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...

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

    难度:中等 频率:136 题目: 给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 解题方法:改进的BPS[广度优先搜索] BP ...

  3. LeetCode高频题:二叉树的锯齿形(Z字形,之字形)层序遍历

    LeetCode高频题:二叉树的锯齿形(Z字形,之字形)层序遍历 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们 ...

  4. 代码随想录【day 14 二叉树】| 层序遍历 226.翻转二叉树 101.对称二叉树

    代码随想录[day 14 二叉树]| 层序遍历 226.翻转二叉树 101.对称二叉树 层序遍历 卡哥文解 视频讲解 题目链接:102.二叉树的层序遍历 解题思路 代码实现 题目链接:107.二叉树的 ...

  5. 二叉树的层序遍历_NC15 求二叉树的层序遍历

    NC15 求二叉树的层序遍历 考过的企业 - 小米 题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树 ...

  6. l2-004 这是二叉搜索树吗?_LeetCode 例题精讲 | 11 二叉树转化为链表:二叉树遍历中的相邻结点...

    本期例题: LeetCode 98. Validate Binary Search Tree 验证二叉搜索树(Medium) LeetCode 426. Convert Binary Tree to ...

  7. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)

    给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1:输入:root = [3,9,20,null,null,15, ...

  8. LeetCode 102二叉树的层序遍历103二叉树锯齿形遍历104二叉树的最大深度

    微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 97交错字符串(动态规划) LeetCode 98验证 ...

  9. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

    Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...

最新文章

  1. Opengl-阴影(分为定向光的和点光源的)
  2. 大道至简——失败也是积累
  3. 获取android设备唯一编号_android 获取手机设备的唯一码(IMIE )
  4. delphi XE 學習筆記二:TThread.CreateAnonymousThread
  5. unity实现图片轮播效果_Unity实现图片轮播组件
  6. 微型计算机中存储器分成哪几个等级?它们各有什么特点?用途如何?,《微机原理》复习思考题第十二章存储器.DOC...
  7. C++ DNN Opencv3.4 实现人脸计数和人脸检测
  8. iOS 5 编程(1)-图像视图、滑块和步进控件的使用(源码下载)
  9. 爬虫从入门到放弃——爬虫的基本原理
  10. 内核中的UDP socket流程(6)——sendto
  11. mysql truncate 授权_Oracle给用户授权truncatetable的实现方案
  12. 全网首发:FreeType加载字体图像的几个关键函数
  13. 聊一下《技术力量-一线技术团队成功启示录》
  14. 手机变身高清摄像头 DroidCamX完全使用教程
  15. 如何实现高性能的在线 PDF 预览
  16. 微信服务号认证收费 :一场激进的自卫战
  17. php app 银联支付,php银联网页支付实现方法
  18. leetcode 1114
  19. 计算机格式化为ntfs,WinXP下怎么把U盘格式化成NTFS格式?XP下把U盘格式化成NTFS格式图文教程...
  20. 利用特性、泛型、反射生成sql操作语句(待修改

热门文章

  1. 广域网(WAN)简介
  2. ubuntu16.04安装nvidia(英伟达)显卡驱动
  3. java压缩文件,在线下载文件并压缩
  4. Mac系统下加速百度云下载(附软件)
  5. AI TIME PhD实验室专场,四月隆重登场!
  6. 现代诗与古典传统的关系
  7. python图像处理 马赛克效果
  8. SD NAND flash使用说明
  9. D435i安装驱动时遇到的configuring Secure Boot问题
  10. U²-Net:铅笔肖像画的生成