【剑指offer-Java版】23从上往下打印二叉树
来源:互联网 发布:淘宝卖家怎么添加商品 编辑:程序博客网 时间:2024/06/05 18:30
从上往下打印二叉树:如果把这个书看做是一个特殊的图,那么该打印过程就类似于一个广度优先遍历
public class _Q23 { public <T> void PrintTreeFromTopToButtom(BinaryTreeNode<T> root){ if(root == null) return; Queue<BinaryTreeNode<T>> queue = new LinkedList<>(); queue.add(root); while(!queue.isEmpty()){ BinaryTreeNode<T> node = queue.remove(); if(node.leftChild != null) queue.add(node.leftChild); if(node.rightChild != null) queue.add(node.rightChild); System.out.print(node.value + " "); } System.out.println(); } }
测试代码:
public class _Q23Test extends TestCase { _Q23 tree = new _Q23(); public void test(){ BinaryTreeNode<Integer> root = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node1 = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node2 = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node3 = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node4 = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node5 = new BinaryTreeNode<>(); BinaryTreeNode<Integer> node6 = new BinaryTreeNode<>(); root.value = 8; node1.value = 6; node2.value = 10; node3.value = 5; node4.value = 7; node5.value = 9; node6.value = 11; root.leftChild = node1; root.rightChild = node2; node1.leftChild = node3; node1.rightChild = node4; node2.leftChild = node5; node2.rightChild = node6; node3.leftChild = null; node3.rightChild = null; node4.leftChild = null; node4.rightChild = null; node5.leftChild = null; node5.rightChild = null; node6.leftChild = null; node6.rightChild = null; tree.PrintTreeFromTopToButtom(root); tree.PrintTreeFromTopToButtom(null); tree.PrintTreeFromTopToButtom(node1); } }
1 0
- 剑指Offer面试题23(Java版):从上往下打印二叉树
- 【剑指offer-Java版】23从上往下打印二叉树
- 剑指Offer面试题23(Java版):从上往下打印二叉树
- 剑指Offer 23题 从上往下打印二叉树 Java版
- 剑指offer 23 - 从上往下打印二叉树
- 剑指Offer-23-从上往下打印二叉树
- 《剑指offer》:[23]从上往下打印二叉树
- 剑指Offer 23 从上往下打印二叉树
- 剑指offer 23 从上往下打印二叉树
- 剑指offer--面试题23:从上往下打印二叉树--Java实现
- 剑指Offer:面试题23——从上往下打印二叉树(java实现)
- 剑指offer 面试题23 从上往下打印二叉树 Java实现
- 剑指offer面试题23:从上往下打印二叉树 Java实现
- 剑指offer: 从上往下打印二叉树(树)
- 剑指offer:从上往下打印二叉树
- 剑指offer系列源码-从上往下打印二叉树
- 剑指offer--从上往下打印二叉树
- 剑指Offer之 - 从上往下打印二叉树
- Android studio 导入依赖工程(导入其他工程作为lib)
- 关于调整input里面的输入光标大小
- Eclipse中预设(Androidd)工程的编码格式规范
- Word Flow for iOS输入法正式发布
- iOS 的学习经验
- 【剑指offer-Java版】23从上往下打印二叉树
- 大数据相关资源收集
- 【iOS开发】---- SDWebImage支持webp格式的图片
- lua math库
- 虚拟表单提交模拟ajax请求
- java之保留几位小数的几种方式及添加千位分隔符
- 最详细的JavaScript和事件解读
- 344. Reverse String
- 【华为OJ】【004-字符串分隔】