二叉树系列--层序遍历(java实现)
2015-09-19 19:52
274 查看
记录两道题目:
第一题:计算二叉树的深度,两行递归即可搞定。
第二题:层序遍历一颗二叉树,用广度优先搜索的思想,使用一个队列来按照层的顺序存放节点。
第一题:计算二叉树的深度,两行递归即可搞定。
public static int level(Node root) { if (root == null) return 0; return level(root.left) + 1 > level(root.right) + 1 ? level(root.left) + 1 : level(root.right) + 1; }
第二题:层序遍历一颗二叉树,用广度优先搜索的思想,使用一个队列来按照层的顺序存放节点。
public static void levelTrav(Node root) { if (root == null) return; Queue<Node> q = new ArrayDeque<Node>(); q.add(root); Node cur; while (!q.isEmpty()) { cur = q.peek(); System.out.print(cur.value + " "); if (cur.left != null) q.add(cur.left); if (cur.right != null) q.add(cur.right); q.poll(); } }
相关文章推荐
- 学习完Spring MVC体会
- JAVA程序的运行机制和JAVA虚拟机理解
- JAVA中的 JSON 解析
- JAVA基础学习--一个线程加一运算,一个线程做减一运算,多个线程同时交替运行--synchronized
- java往mysql写数据中文变成了?号
- 转 java中弱引用
- Java基金会——JUnit
- JAVA学习资源种子
- Java事件类型小结
- java对象的理解
- java对象引用概念
- Java单链逆转
- 10种排序法
- 关于java中if语句的见解
- Java面向对象 修饰符
- 解决android开发中eclipse不能自动提示
- 一个用NetBeans写的计算器
- 【转载】-java Socket用法详解
- 接口理解2
- jena处理RDF数据入门程序小例子