二叉树之字形层次遍历
题目:给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)
例如:
给定的二叉树是{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.实验目的: 掌握二叉树的结构特性以及二叉链表的存储结构的特点及适用范围.同时,掌握用指针类型描述.访问和处理二叉树的运算. 2.试验问题: 建立一棵二叉树,按层次遍历该二叉树,并显示出这棵二叉树. ...
- 【剑指 offer】(二十三)—— 从上往下打印二叉树(或曰层次遍历、广度优先遍历)
从广度优先到深度优先,只差一个数据结构. 从上往下打印二叉树,实质是在考察树的遍历问题,显然不同于更为经典的先序.中序和后序遍历,而属于一种层次遍历,或曰广度优先遍历. 二叉树节点的定义如下: str ...
- LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy
本题和上题一样同属于层次遍历,不同的是本题从底层往上遍历,如下: 代码如下: 1 struct TreeNode { 2 int val; 3 TreeNode* left; 4 TreeNode* ...
- PAT甲级1127 ZigZagging on a Tree (30分):[C++题解]之字形层次遍历树bfs实现一层一层读入
文章目录 题目分析 题目链接 题目分析 分析 给定中序遍历和后序遍历,先建树: 后面就是写一个bfs,层序遍历稍微改改即可. bfs要做的修改是如何一层一层的读入.令根结点是第一层,本题的之字形遍历就 ...
- 常考数据结构与算法:二叉树的之字形层序遍历
题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树之字形层序遍历的结果是 [ ...
- 牛客题霸 [二叉树的之字形层序遍历] C++题解/答案
牛客题霸 [二叉树的之字形层序遍历] C++题解/答案 题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 例如: 给定的二叉树是{3,9,20, ...
- 二叉树的之字形层序遍历
二叉树的之字形层序遍历 1.参考资料 https://www.nowcoder.com/practice/47e1687126fa461e8a3aff8632aa5559 2.题目要求 题目描述 给定 ...
- 二叉树的层序遍历(二)---之字形层序遍历
题目描述 描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围: 0≤n≤1500,树上每个节点的val满足 |val| <= 1500 ...
- 二叉树:层次遍历算法(自上而下,从左到右)
层次遍历(LevelOrder)就是默认为自上而下,从左到右,一层一层进行遍历, 层次遍历需要借助队列来完成, 队列:先进先出(FIFO). 分析:如图有一棵二叉树,按照层次遍历最终的结果就是ABCD ...
最新文章
- 爬虫基础学习 转【http://www.cnblogs.com/huangxincheng/archive/2012/11/08/2759752.html】
- 用户方式中线程的同步——Windows核心编程学习手札之八
- 你不一定知道的几个前端小知识
- python读取文件夹下所有图片_python 读取单文件夹中的图片文件信息保存到csv文件中...
- ABAP string函数一览
- bzoj4245: [ONTAK2015]OR-XOR
- Git之diff和status
- 3-VUE -set
- matlab画航线图,【图文详解】如何画出华丽丽的全球航线图
- 人工智能技术的发展促进城市大脑预演数字化城市未来
- NLTK-006:分类文本(性别鉴定)
- 从辉煌到困局,奥康还能不能绝地反击?
- 基于Android的简易的二手物品交易app
- Kyligence 完成 2500 万美元 C 轮融资,Coatue 领投
- 视频码率,帧率和分辨率
- c++ 中关于引用(1)
- 个人信用报告内容组成和解读(七) ---本人声明、异议标注、查询等
- 2021年全球天然橡胶行业供需现状分析:需求量迎来恢复性增长,中国市场需求量占比超40%[图]
- 2020校招面试之深信服
- OpenCV中LBPH人脸识别器识别人脸实战(附Python源码)