从左往右 从上往下 按层遍历 输出 树 二叉树
来源:互联网 发布:painter安装教程mac 编辑:程序博客网 时间:2024/06/08 06:16
需求
将二叉树的 各节点输出, 按照层级输出
4 / \ 2 7 / \ / \1 3 6 9
方法1
public static void outputTree(TreeNode root) { if (root == null) { return; } System.out.println(root); List<TreeNode> former = new ArrayList<TreeNode>(); former.add(root); while (former.size() != 0) { List<TreeNode> current = new ArrayList<TreeNode>(); for (TreeNode node : former) { System.out.print(node.left + ", "); System.out.print(node.right + ", "); if (node.left != null) { current.add(node.left); } if (node.right != null) { current.add(node.right); } } System.out.println(); former.clear(); former.addAll(current); }}
思路
因为按照层输出, 所有用两个 list 变量. 一个保存 这层的 节点, 一个保存所有这层节点的子节点
缺陷
对于某些子节点为空的节点支持得不是很好
为空的节点在中间时, 输出也会有些偏差
方法1 输出
84, 10, 2, null, 9, 12, 1, null, null, null, null, null, null, null,
0 0
- 从左往右 从上往下 按层遍历 输出 树 二叉树
- 分层遍历二叉树(按层次从上往下,从左往右)
- 剑指offer:从上往下打印二叉树(层遍历二叉树)
- 程序9——层序遍历二叉树(从上往下打印二叉树)
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 栈的压入、弹出序列 和从上往下打印二叉树(层序遍历)
- 剑指Offer------从上往下打印二叉树(层序遍历)
- 打印一棵二叉树,要求从上往下打印,每一层从左往右打印
- 第十三题 从上往下遍历二叉树
- 剑指offer - 从上往下遍历二叉树
- 从上往下打印二叉树,层次遍历
- 16.从上往下遍历二元树
- 从上往下遍历二元树
- 从上往下遍历二元树
- 从上往下遍历二元树[数据结构]
- 从上往下遍历二元树
- 从上往下遍历二元树
- 从上往下遍历二元树
- 选择结构
- 归并排序
- hadoop-2.5.2 安装与配置
- iOS中nil,Nil,NULL的区别
- hdu 5391 (数论)
- 从左往右 从上往下 按层遍历 输出 树 二叉树
- 电脑显示U盘,但是读取不了
- FrameLayout中控件使用属性:layout_weight
- 归并排序 MergeSort
- 协议传值
- scala实现设计模式之组合模式
- Android底层原理之从Service_manager源码分析Android进程间通信过程
- markdown 模板
- 欢迎使用CSDN-markdown编辑器