Easy-题目33:102. Binary Tree Level Order Traversal
2016-05-30 20:19
393 查看
题目原文:
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).
题目大意:
按层次遍历二叉树。
题目分析:
与前面的Easy第27题类似,只是不用翻转最后的结果数组。
源码:(language:java)
成绩:
3ms,beats 14.37%,众数3ms,46.37%
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).
题目大意:
按层次遍历二叉树。
题目分析:
与前面的Easy第27题类似,只是不用翻转最后的结果数组。
源码:(language:java)
public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue=new LinkedList<TreeNode>(); Queue<Integer> levelqueue=new LinkedList<Integer>(); queue.add(root); levelqueue.add(1); List<List<Integer>> result=new ArrayList(); List<Integer> temp=new ArrayList<Integer>(); if(root==null) return result; while(!queue.isEmpty()) { TreeNode current=queue.remove(); int curLevel=levelqueue.remove(); if(curLevel==result.size()) temp.add(current.val); else { result.add(temp); temp=new ArrayList<Integer>(); temp.add(current.val); } if(current.left!=null) { queue.add(current.left); levelqueue.add(curLevel+1); } if(current.right!=null) { queue.add(current.right); levelqueue.add(curLevel+1); } } result.add(temp); result.remove(0); return result; } }
成绩:
3ms,beats 14.37%,众数3ms,46.37%
相关文章推荐
- 《JavaScript学习笔记八》:数字时钟的实现
- 在Ubuntu系统下装Win7并引导双系统
- Java 并发工具包 java.util.concurrent 用户指南
- libubus 数据结构介绍
- Easy-题目32:172. Factorial Trailing Zeroes
- 轻量级图形报表工具JSCharts (JSChart),内置函数中文参考
- swift学习之路(六)字符串和字符的常用操作
- BP学习算法的实现
- Storm 编程入门
- 《JavaScript学习笔记七》:数组和可变参数arguments的介绍
- 把商品添加到购物车的动画效果(贝塞尔曲线)
- 线程
- 二叉树的遍历(递归)
- Service的应用思路
- Codeforces Round #352 div1 C D (智商+线段树)
- ZooKeeper在Linxu下集群配置
- 多线程-GCD
- 第十三周项目1:阅读程序,并写出运行结果(3)纯虚函数
- HDU1205 鸽巢原理/找规律
- Only Link: Inheritance and the prototype chain