题目:从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

例如:
给定二叉树: [3,9,20,null,null,15,7],

   3/ \9  20/  \15   7

返回:[3,9,20,15,7]

提示:节点总数 <= 1000


解题:queue队列(先进先出)

class Solution {
public:vector<int> levelOrder(TreeNode* root) {vector<int> res;if(root == nullptr) return res;   //判断根节点是否为空queue<TreeNode*> que;que.push(root);while(!que.empty()) {TreeNode* curNode = que.front(); que.pop();if(curNode == nullptr) continue;res.push_back(curNode->val);if(curNode->left) que.push(curNode->left);if(curNode->right) que.push(curNode->right);}return res;}
};

剑指offer:面试题32 - I. 从上到下打印二叉树相关推荐

  1. 剑指Offer - 面试题32 - III. 从上到下打印二叉树 III(BFS,queue+stack)

    1. 题目 请实现一个函数按照之字形顺序打印二叉树, 即第一行按照从左到右的顺序打印, 第二层按照从右到左的顺序打印, 第三行再按照从左到右的顺序打印,其他行以此类推. 例如: 给定二叉树: [3,9 ...

  2. 剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue)

    1. 题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回: [3,9 ...

  3. 剑指offer面试题32 - III. 从上到下打印二叉树 III(二叉树)(BFS)

    题目描述 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推. 思路 详见链接 代码 class So ...

  4. 剑指offer面试题32 - I. 从上到下打印二叉树(二叉树)(BFS)

    题目描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 思路 详见链接 代码 class Solution:def levelOrder(self, root:TreeNode ...

  5. 剑指offer面试题32 - II. 从上到下打印二叉树 II(二叉树)(BFS)

    题目描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 思路 详见链接 代码 class Solution:def levelOrder(self,root:TreeN ...

  6. 剑指offer——面试题23:从上往下打印二叉树

    剑指offer--面试题23:从上往下打印二叉树 Solution1: 典型的BFS算法! 思路一开始没想到,按照书上的思路写的答案... 注意:deque是双向队列,在头尾插入都很快! /* str ...

  7. [剑指offer]面试题23:从上往下打印二叉树

    面试题23:从上往下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入图4.5中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树结点的定义如下 ...

  8. 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)

    题目:从上往下打印出二叉树的每个节点,同一层的结点按照从左往右的顺序打印. 解题思路:二叉树的层序遍历,在打印一个节点的时候,要把他的子节点保存起来打印第一层要把第二层的节点保存起来, 打印第二层要把 ...

  9. 剑指offer(Java实现) 从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 利用队列(链表)辅助实现. 代码实现 import java.util.ArrayList; import java.uti ...

  10. 剑指offer二十二之从上往下打印二叉树

    一.题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 二.思路 二叉树的层次遍历,可以借助队列实现.具体思路详见注释. 三.代码 import java.util.ArrayList; i ...

最新文章

  1. JDBC读取新插入Oracle数据库Sequence值的5种方法
  2. python3 AES 加解密
  3. 配置Apache2.2+PHP5+CakePHP1.2+MySQL5
  4. CAS:compare and swap
  5. linux系统管理之单机系统管理 - 超级用户和进程管理
  6. 百度人脸识别技术应用003---百度云离线SDK_Android版_功能分析_获取摄像头视频流中的图片_发给百度人脸识别API_识别搜索_或先同步百度云人脸信息_然后本地人脸识别
  7. html5的video怎么把里面的控制器移出来_6个月宝宝米粉怎么冲,一次吃多少?一天吃几次?关于宝宝米粉的难题,答案都在这了!...
  8. [学习笔记]中国剩余定理
  9. Web Api 接口文档制作
  10. 【字幕制作】从IDX/SUB到PGS的小白入门教程
  11. 热式气体质量流量计检定规程_新品发布:西尼尔ST51/54热式质量流量计
  12. html页面布局实验原理,Html设计实验报告.doc
  13. HTML邮件模板编写规则,编写邮件HTML模板
  14. ITOP4412----Uboot2020移植记录
  15. 双非本科生进大厂,而我还在底层默默地爬树(上)
  16. Kali Linux pyqt5 运行报错xcb
  17. hbase —— Dead Region Servers
  18. 一文掌握常见常用Java集合框架
  19. html5 多点触控 缩放,WebBrowser禁用触摸缩放
  20. 程序员初创公司的合伙人股权的进入和退出机制设计-20151020

热门文章

  1. (转载)(官网)UE4--Character
  2. 手动添加Cookie
  3. sftp协议下如何上传和下载文件
  4. Java GC 日志详解
  5. Xcode中如何解决无法使用svn命令行的问题
  6. 用sed 给文本文件加行号
  7. 全浏览器兼容的DIV拖动效果
  8. 模型数据的保存和读取
  9. 图像变换——等距变换,相似变换,仿射变换,投影变换
  10. case when 效率高不高_南京薄蜂窝纸板效率高