树的层次遍历(Java代码实现)
来源:互联网 发布:杭州淘宝城地址在哪里 编辑:程序博客网 时间:2024/06/18 07:19
与树的前中后序遍历的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 }
阅读全文
0 0
- 树的层次遍历(Java代码实现)
- 二叉树的层次遍历----java实现
- 二叉树的遍历-先序中序后序层次(java实现)
- 【LintCode-69】二叉树的层次遍历(Java实现)
- PTA 6-2 二叉树的遍历(25 分) 25分代码 (数组实现层次遍历)
- java实现二叉树层次遍历
- 剑指offer之求二叉树的深度(非递归的层次遍历)Java实现
- Java实现树的遍历(前序、中序、后续(递归|非递归)、层次)
- 二叉树遍历(先中后序 递归和非递归+层次遍历)java代码 可直接运行
- 用队列实现树的层次遍历
- java 二叉树的实现与先序遍历和层次遍历
- java实现二叉树的建立,前中后序遍历,层次遍历,深度,节点个数等
- 树的中序非递归遍历和层次遍历实现
- java代码实现二叉树的遍历
- 树的层次遍历
- 树的层次遍历
- 树的层次遍历
- 树的层次遍历
- Java使用BigDecimal解决精确计算的问题
- Socket通信原理
- 回顾:计算机网络之传输协议
- 使用Vue-cli快速搭建项目
- 解决使用eclipse创建maven web项目时报Could not resolve archetype的问题
- 树的层次遍历(Java代码实现)
- 数据智能:工具之王
- LeetCode(476): Number Complement
- over partition by和over partition by
- CMMI5个等级和22个过程域
- C++11 右值引用&&
- MySQL中变量的用法——LeetCode 178. Rank Scores
- [JavaScript]YYYY-MM-DD格式字符串计算年龄
- CentOS 6.5/6.6 安装mysql 5.7 最完整版教程