剑指offer面试题32 - III. 从上到下打印二叉树 III(二叉树)(BFS)
题目描述
请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。
思路
详见链接
代码
class Solution:def levelOrder(self,root:TreeNode)->List[List[int]]:if not root:return []res, queue = [],collections.deque()queue.append(root)while queue:tmp = []for _ in range(len(queue)):node = queue.popleft()tmp.append(node.val)if node.left:queue.append(node.left)if node.right:queue.append(node.right)res.append(tmp[::-1] if len(res) % 2 == 0 else tmp)return res
剑指offer面试题32 - III. 从上到下打印二叉树 III(二叉树)(BFS)相关推荐
- 剑指Offer - 面试题32 - I. 从上到下打印二叉树(按层BFS遍历,queue)
1. 题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回: [3,9 ...
- 剑指offer面试题32 - I. 从上到下打印二叉树(二叉树)(BFS)
题目描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 思路 详见链接 代码 class Solution:def levelOrder(self, root:TreeNode ...
- 剑指offer面试题32 - II. 从上到下打印二叉树 II(二叉树)(BFS)
题目描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 思路 详见链接 代码 class Solution:def levelOrder(self,root:TreeN ...
- 剑指offer——面试题23:从上往下打印二叉树
剑指offer--面试题23:从上往下打印二叉树 Solution1: 典型的BFS算法! 思路一开始没想到,按照书上的思路写的答案... 注意:deque是双向队列,在头尾插入都很快! /* str ...
- [剑指offer]面试题23:从上往下打印二叉树
面试题23:从上往下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入图4.5中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树结点的定义如下 ...
- 剑指offer面试题23:从上到下打印二叉树(树的层序遍历)
题目:从上往下打印出二叉树的每个节点,同一层的结点按照从左往右的顺序打印. 解题思路:二叉树的层序遍历,在打印一个节点的时候,要把他的子节点保存起来打印第一层要把第二层的节点保存起来, 打印第二层要把 ...
- 剑指offer(Java实现) 从上往下打印二叉树
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 解题思路 利用队列(链表)辅助实现. 代码实现 import java.util.ArrayList; import java.uti ...
- 剑指offer二十二之从上往下打印二叉树
一.题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 二.思路 二叉树的层次遍历,可以借助队列实现.具体思路详见注释. 三.代码 import java.util.ArrayList; i ...
- 剑指offer——面试题32:从1到n整数中1出现的次数
剑指offer--面试题32:从1到n整数中1出现的次数 Solution1: 最容易想到的方法: class Solution { public:int NumberOf1Between1AndN_ ...
- 剑指offer——面试题61:按之字形顺序打印二叉树
剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...
最新文章
- 遗传算法的收敛性分析
- C语言从文件中读入矩阵,并且将矩阵转置
- php鼠标悬停字体变大代码CS6,Dreamweaver cs6设置代码字体大小的方法
- 单片机c语言程序设计叶俊明,单片机C语言程序设计
- Pythonic---------详细讲解
- 德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革
- 使用神经网络自动提取出它的特征码(1)
- smb文件共享_使用SMB文件共享作为存储替代方案
- 关于WORD VBA学习使用心得
- [树状数组模板] 洛谷P3368
- python3lde下载_Python3.4IDE软件下载_Python3.4IDEAPP_Python3.4IDE手机版官方下载_Python3.4IDE1.8-华军软件园...
- ajax 后面接什么,什么是AJAX?
- emule服务器有响应,eMule刚连上服务器就断请教为什么
- 【Android Broadcast】BroadcastReceiver
- Understand教程—使用搜索功能的几种方法
- 专业的web打印插件
- 利用Hudi Bootstrap转化现有Hive表的parquet/orc文件为Hudi表
- mysql applier_DRC 是唯品会自研的MySQL双向复制方案,主要应用场景是数据库双向复制、单向复制...
- ios 9 10 11 air mirror 交互协议
- Excel,python全都靠边站,这才是数据分析应该有的样子
热门文章
- 还在头痛被黑客劫持? 五步帮你摆脱烦恼!
- php极速链,php PHP极速链 战群源码系列(全自动采集更新+引流神器无数据库版) WEB(ASP,PHP,...) 261万源代码下载- www.pudn.com...
- matlab m语言电路仿真,基于Matlab的TFT-LCD解码电路的仿真设计(含程序)
- 介绍Linux系统如何初始化和启动系统服务的
- java项目连接jboss中数据库_月光软件站 - 编程文档 - Java - JBOSS3.2.5中MYSQL数据库连接池的建立与测试...
- gpu跑普通python程序_普通电脑PC怎样跑TensorFlow的GPU模式
- 荔枝糖FPGA开发板相关博客
- C++ std:: 的坑
- kindeditor php配置,KindEditor-编辑器配置参数属性 | 小灰灰博客
- html中模板引擎—前端与后端