BST----Binary Tree Level Order Traversal
2016-01-20 12:47
239 查看
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).
Have you met this question in a real interview? Yes
Example
Given binary tree {3,9,20,#,#,15,7},
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
Challenge
Challenge 1: Using only 1 queue to implement it.
Challenge 2: Use DFS algorithm to do it.
Have you met this question in a real interview? Yes
Example
Given binary tree {3,9,20,#,#,15,7},
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
Challenge
Challenge 1: Using only 1 queue to implement it.
Challenge 2: Use DFS algorithm to do it.
递归算法
Java queue Api/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists of integer */ public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { // write your code here ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); if(root == null) return result ; Queue<TreeNode> q = new LinkedList<TreeNode>(); q.offer(root); while(!q.isEmpty()){ int qLen = q.size(); ArrayList<Integer> aList = new ArrayList <Integer>(); for(int i = 0; i<qLen; i++){ TreeNode node = q.poll();//出队 aList.add(node.val); if(node.left!= null) q.offer(node.left); if(node.right!=null) q.offer(node.right);//入队 } result.add(aList); } return result ; } }
相关文章推荐
- js检测浏览器安装了什么插件
- Jquery Validate验证是否为图片格式
- 关于R 语言的升级
- 前端数据可视化插件大盘点
- CRB and His Birthday(hdu 5410)
- wpf Popup控件最大化(全屏)
- Android第一行代码-入门之第一行代码
- wifi rounter 系统
- SQL plan directives
- windows系统下Python环境的搭建
- 安卓请求ssh服务器参数中文,出现乱码现象
- [图像] 灰度映射
- [技巧篇]21.Android Studio的快捷键设置[图片版]
- Storm - 事务管理
- Ubuntu14 4 安装 Cloudera Manager5及CDH5(Mysql)
- Spring在代码中获取bean的几种方式
- NIC bonding
- 296. Best Meeting Point
- layer属性
- 全国各城市Uber客服联系方式(电话、邮箱、微博)