树的层次遍历(Java代码实现)
2017-11-13 14:43
274 查看
与树的前中后序遍历的DFS思想不同,层次遍历用到的是BFS思想。一般DFS用递归去实现(也可以用栈实现),BFS需要用队列去实现。
层次遍历的步骤是:
1.对于不为空的结点,先把该结点加入到队列中
2.从队中拿出结点,如果该结点的左右结点不为空,就分别把左右结点加入到队列中
3.重复以上操作直到队列为空
1 public class Solution{ 2 class TreeNode { 3 int val; 4 TreeNode left; 5 TreeNode right; 6 TreeNode(int x) { val = x; } 7 } 8 public static void LaywerTraversal(TreeNode root){ 9 if(root==null) return; 10 LinkedList<TreeNode> list = new LinkedList<TreeNode>(); 11 list.add(root); 12 TreeNode currentNode; 13 while(!list.isEmpty()){ 14 currentNode=list.poll(); 15 System.out.println(currentNode.val); 16 if(currentNode.left!=null){ 17 list.add(currentNode.left); 18 } 19 if(currentNode.right!=null){ 20 list.add(currentNode.right); 21 } 22 } 23 } 24 }
相关文章推荐
- 二叉排序树的建立和先序遍历和层次遍历问题之java实现
- 蛇形遍历矩阵 50行JAVA代码实现 欢迎挑刺
- 二叉树的建树、遍历(先序、中序、后序、层次)(递归和非递归)--Java实现
- 用java代码实现二叉树的遍历算法
- 二叉树的层次遍历----java实现
- 邻接表存储图,DFS遍历图的java代码实现
- JAVA遍历map的几种实现方法代码
- java语言实现二叉树的前序、中序与后序遍历(递归与非递归) 层次遍历
- 二叉树的遍历-先序中序后序层次(java实现)
- JAVA实现二叉树的遍历的非递归算法及递归算法(前序,中序,后序,层次)
- java实现二叉树的建立,前中后序遍历,层次遍历,深度,节点个数等
- JAVA语言实现二叉树的层次遍历的非递归算法及递归算法。
- 二叉树定义及相关术语、节点数计算公式、代码实现(遍历,Java版)
- java代码实现二叉树的遍历
- 一直二叉树的前序遍历和中序遍历的结果,重建该二叉树 Java代码实现
- 剑指offer之求二叉树的深度(非递归的层次遍历)Java实现
- 二叉树建立以及先序、中序、后序、层次遍历(JAVA 实现)
- 数据结构--java实现二叉树的先序、中序、后序、层次遍历及根据先序中序建立二叉树
- java实现二叉树层次遍历
- 二叉树的递归 非递归 先序 中序 后序及层次遍历代码实现