题目:给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)
例如:
给定的二叉树是{3,9,20,15,7,#,#},使用之字遍历的结果为[[3],[20][9],[15][7]]

算法思想:为每一行建立newLIst与newLine,和行标识符flag(flag=0:倒着输入某一行,flag=1:正着输入)

根据flag将结点的值以数组的形式存入到newLine之中,之后在添加到大数组result中

将此行结点的左右孩子添加到newlist之中,为遍历下一行做准备。

代码分析 :

ArrayList<ArrayList<Integer>> result  = new ArrayList<ArrayList<Integer>>();

与我们常见的ArrayList<E> Rename = new ArrayList<>();不太一样,ArrayList<ArrayList<Integer>> 通俗来讲就是ArrayList 中存放ArrayList,及将(小)数组存放在(大数组)

之中。

举个例子:

ArrayList<ArrayList<Integer>> res = ArrayList<ArrayList<Integer>>();

ArrayLIst<Integer> list = new ArrayLIst<Integer>();

list.add(1);//向list添加元素1

list.add(2);

res.add(list);//将数组list添加到res当中

return res;

结果为[[1,2]]    :注意两层中括号

二叉树之字形层次遍历相关推荐

  1. 数据结构(三)打印二叉树中结点层次遍历序列的实现

    1.实验目的: 掌握二叉树的结构特性以及二叉链表的存储结构的特点及适用范围.同时,掌握用指针类型描述.访问和处理二叉树的运算. 2.试验问题: 建立一棵二叉树,按层次遍历该二叉树,并显示出这棵二叉树. ...

  2. 【剑指 offer】(二十三)—— 从上往下打印二叉树(或曰层次遍历、广度优先遍历)

    从广度优先到深度优先,只差一个数据结构. 从上往下打印二叉树,实质是在考察树的遍历问题,显然不同于更为经典的先序.中序和后序遍历,而属于一种层次遍历,或曰广度优先遍历. 二叉树节点的定义如下: str ...

  3. LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy

    本题和上题一样同属于层次遍历,不同的是本题从底层往上遍历,如下: 代码如下: 1 struct TreeNode { 2 int val; 3 TreeNode* left; 4 TreeNode* ...

  4. PAT甲级1127 ZigZagging on a Tree (30分):[C++题解]之字形层次遍历树bfs实现一层一层读入

    文章目录 题目分析 题目链接 题目分析 分析 给定中序遍历和后序遍历,先建树: 后面就是写一个bfs,层序遍历稍微改改即可. bfs要做的修改是如何一层一层的读入.令根结点是第一层,本题的之字形遍历就 ...

  5. 常考数据结构与算法:二叉树的之字形层序遍历

    题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树之字形层序遍历的结果是 [ ...

  6. 牛客题霸 [二叉树的之字形层序遍历] C++题解/答案

    牛客题霸 [二叉树的之字形层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20, ...

  7. 二叉树的之字形层序遍历

    二叉树的之字形层序遍历 1.参考资料 https://www.nowcoder.com/practice/47e1687126fa461e8a3aff8632aa5559 2.题目要求 题目描述 给定 ...

  8. 二叉树的层序遍历(二)---之字形层序遍历

    题目描述 描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围: 0≤n≤1500,树上每个节点的val满足 |val| <= 1500 ...

  9. 二叉树:层次遍历算法(自上而下,从左到右)

    层次遍历(LevelOrder)就是默认为自上而下,从左到右,一层一层进行遍历, 层次遍历需要借助队列来完成, 队列:先进先出(FIFO). 分析:如图有一棵二叉树,按照层次遍历最终的结果就是ABCD ...

最新文章

  1. 爬虫基础学习 转【http://www.cnblogs.com/huangxincheng/archive/2012/11/08/2759752.html】
  2. 用户方式中线程的同步——Windows核心编程学习手札之八
  3. 你不一定知道的几个前端小知识
  4. python读取文件夹下所有图片_python 读取单文件夹中的图片文件信息保存到csv文件中...
  5. ABAP string函数一览
  6. bzoj4245: [ONTAK2015]OR-XOR
  7. Git之diff和status
  8. 3-VUE -set
  9. matlab画航线图,【图文详解】如何画出华丽丽的全球航线图
  10. 人工智能技术的发展促进城市大脑预演数字化城市未来
  11. NLTK-006:分类文本(性别鉴定)
  12. 从辉煌到困局,奥康还能不能绝地反击?
  13. 基于Android的简易的二手物品交易app
  14. Kyligence 完成 2500 万美元 C 轮融资,Coatue 领投
  15. 视频码率,帧率和分辨率
  16. c++ 中关于引用(1)
  17. 个人信用报告内容组成和解读(七) ---本人声明、异议标注、查询等
  18. 2021年全球天然橡胶行业供需现状分析:需求量迎来恢复性增长,中国市场需求量占比超40%[图]
  19. 2020校招面试之深信服
  20. OpenCV中LBPH人脸识别器识别人脸实战(附Python源码)

热门文章

  1. TransUNet阅读笔记与训练尝试
  2. Web3 全栈开发指南
  3. PyQt5开发的数据编辑器(一)
  4. F4键在word可以做什么?万能的F4键竟然还有这些功能!
  5. 指针和地址之间的关系是什么?
  6. PYTHON实现将一个文件夹下的名字满足条件的图片拷贝复制到另一个文件夹路径
  7. Matlab快速创建矩阵的方法(创建特殊矩阵)
  8. 秋招硬件设计岗,offer拿到手软,是一种什么体验?
  9. 【毕业设计】4-基于单片机的锅炉控制系统的研究与设计(原理图+源代码+仿真工程+答辩论文+答辩PPT)
  10. 前后端微信小程序开发