二叉树的层次遍历
2016-03-09 11:08
274 查看
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)
给一棵二叉树
返回他的分层遍历结果:
给一棵二叉树
{3,9,20,#,#,15,7}:
3 / \ 9 20 / \ 15 7
返回他的分层遍历结果:
[ [3], [9,20], [15,7] ]
import java.util.*; import java.util.Queue; /** * Created by jason on 2016/3/8. */ class Solution72 { public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); Queue<TreeNode> queue = new LinkedList<TreeNode>(); if (root == null) return result; queue.offer(root); while (!queue.isEmpty()) { ArrayList<Integer> val = new ArrayList<Integer>(); int size = queue.size(); for (int i=0; i<size; i++) { TreeNode head = queue.poll(); val.add(head.val); if (head.left != null) { queue.offer(head.left); } if (head.right != null) { queue.offer(head.right); } } result.add(val); } return result; } }
相关文章推荐
- jedis连接池详解(Redis)
- 并发编程
- iOSDay04C语言数组
- 【iCore3 双核心板_FPGA】例程八:触发器实验——触发器的使用
- IntelliJ IDEA中js代码报如下警告的解决方法
- MongoDB数据库基本用法
- 关于C语言指针比较的一点事
- lzg_ad:EWF原理详解
- 吉林大学,1477
- 教大家防止Jar包被反编译
- #引导方案(一)#
- iOS项目知识总结
- iOS新建项目架构规范
- echarts引入及应用
- 学习进度条博客
- C++编程中使用设计模式中的policy策略模式的实例讲解
- css3渐变色
- uvaLive 4490 Help Bubu 帮助布布 等价转化+DP
- iOS 动画Animation-2-1: 动画基础:核心动画简介
- UML详解之五——顺序图和协作图