首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

微软面试题_三

2012-12-24 
微软面试题_3题目:怎样从顶部开始逐层打印二叉树结点数据?分析:从根节点出发,依次将每层的节点从左到右压

微软面试题_3
题目:怎样从顶部开始逐层打印二叉树结点数据?
分析:从根节点出发,依次将每层的节点从左到右压入一个队列。在访问队列头结点(出队)的同时将该节点的所有子节点压入队列。在访问完一个节点之后,检查是否还有新的节点可以访问,直到不再有新节点。

public static boolean traverseByLevel( TreeNode node ) {if( node == null ) {return false;}ArrayList<TreeNode> auxContainer = new ArrayList<TreeNode>();auxContainer.add(node);int pos = 0;while( pos < auxContainer.size() ) {System.out.println(auxContainer.get(pos).data);if( auxContainer.get(pos).left != null ) {auxContainer.add(auxContainer.get(pos).left);}if( auxContainer.get(pos).right != null ) {auxContainer.add(auxContainer.get(pos).right);}++pos;}return true;}

热点排行