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

例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
返回:
[3,9,20,15,7]
提示:

1.节点总数 <= 1000
深度优先搜索

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = Noneclass Solution:def levelOrder(self, root: TreeNode) -> List[int]:res = []if root == None:return resqueue = []queue.append(root)while queue:node = queue.pop(0)res.append(node.val)if node.left:queue.append(node.left)if node.right:queue.append(node.right)return res

[leetcode]剑指offer32-1.从上到下打印二叉树相关推荐

  1. 剑指 Offer 32 . 从上到下打印二叉树

    main函数测试代码: 按标准输入输出,比如输入: 3,9,20,null,null,15,7 public static void main(String[] args) {//输入3,9,20,n ...

  2. 剑指offer 32. 从上到下打印二叉树

    声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.不分行从上到下打印二叉树 1.1. 问题描述 从上到下打印出二叉树的每一个结点,同一层的结点按照从左到右的顺序打印. 如二叉 ...

  3. 《剑指offer》-- 从上往下打印二叉树、二叉搜素树的后序遍历、二叉树中和为某一值的路径、二叉树与双向链表

    一.从上往下打印二叉树: 1.题目: 上往下打印出二叉树的每个节点,同层节点从左至右打印. 2.解题思路: 用arraylist模拟一个队列来存储相应的TreeNode. 3.代码实现: public ...

  4. 剑指offer——32.从上到下打印二叉树

    题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 知识点: 像这种不是按照指针顺序打印的都需要引入辅助空间,由于分析可知,先进先出,因此我们引入了两端都可进出的队列deque,常用操作, ...

  5. 剑指offer之从上到下打印二叉树

    从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,15,7] 来源:力扣(LeetC ...

  6. 剑指offer23:从上到下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 用队列来实现: 从根节点开始,每次打印一个节点都判断该节点是否有子节点,如果有则放在队列末端: 取出队列最前面的节点,重复1 ...

  7. 《剑指offer》从上往下打印二叉树

    题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解析:此题利用队列可以很好的解决层次打印,只需要按顺序入队以及出队就可以了(一点说明:root为null的时候需要考虑,java中的队列是 ...

  8. 剑指Offer之从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 二叉树的层次遍历,水题...有一个坑:如果root是空的,直接返回空vector,一定要注意边界条件!!!!!!!!! AC ...

  9. 【剑指Offter】从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 其实就是树的层次遍历,经典的宽度优先搜索 队列实现. /* struct TreeNode {int val;struct TreeN ...

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

    文章目录 分析 来源 分析 思路 典型的bfs模板题,这里使用STL中的queue,没用数组模拟队列. STL的思路:初始化队列时,根root入队:对于bfs主体过程while循环内,取队头元素,队头 ...

最新文章

  1. Paddle 环境中 使用LeNet在MNIST数据集实现图像分类
  2. 什么是O/RMapping?为什么要用O/R Mapping?
  3. android开发版本,Android开发之版本统一规范
  4. cdoj 1131 男神的礼物 区间dp
  5. Python与Java曝漏洞,黑客利用FTP注入攻击可绕过防火墙
  6. 如何使用CleanMyMac清理Mac苹果电脑中DNS缓存?
  7. RAD 版本迁移工具,不怕升级麻烦了。
  8. 数据库悲观锁和乐观锁
  9. linux plc编程软件安装,西门子PLC编程软件S7-200 v4.0.8官方版
  10. 用C语言写烟花,给心中的那个人看!
  11. Python软件无线电(1):概述
  12. node处理图片和PDF文件方法
  13. linux yum用法,Linux系统yum的使用与说明
  14. Unity 反转法线,在 Hierarchy 视图对象的快捷菜单中增加 Flip Mesh Normals(反转网格法线)项...
  15. 计算机相关美文摘抄,写景美文摘抄
  16. 成为会带团队的技术人 大项目:把握关键点,谋定而后动
  17. 洛达AirPods鉴别检测工具AB153x_UT,支持1562a 1562f
  18. Windows10 重装系统小白教程
  19. RPA or 爬虫?模拟人工访问某服务平台—增加空间的访问量
  20. 开启人工智能3.0时代,暴风AI电视7(55吋AI全面屏)评测

热门文章

  1. Java8 日期/时间(Date Time)API指南
  2. Linux(CentOS)中常用软件安装,使用及异常——XManager, 中文支持,JDK
  3. C语言实现封装、继承、多态
  4. 力扣--替换后的最长重复字符
  5. SoundStream VS Lyra: 谷歌今年新推出的两款AI音频编解码器有何不同?
  6. 三体云周思进:在红海中寻找蓝海
  7. LiveVideoStackCon技术培训 限量买1赠1
  8. 剑指offer之36-40题解
  9. Java代码简化之朗母达表达式(Lambda Express)
  10. 带你快速了解 Docker 和 Kubernetes