[LeetCode] Binary Tree Level Order Traversal
来源:互联网 发布:https的端口号是多少 编辑:程序博客网 时间:2024/05/29 10:08
Total Accepted: 12041 Total Submissions: 39526
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For 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]]
confused what "{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
public class Solution { public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); preTraverse(root, list, 1); return list; } public void preTraverse(TreeNode root, ArrayList<ArrayList<Integer>> list, int level) { if (root == null) return; if (list.size() < level) list.add(new ArrayList<Integer>()); list.get(level - 1).add(root.val); preTraverse(root.left, list, level + 1); preTraverse(root.right, list, level + 1); }}
public class Solution { public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); Queue<TreeNode> queue = new LinkedList<TreeNode>(); ArrayList<Integer> levelList = new ArrayList<Integer>(); if (root == null) return list; queue.add(root); queue.add(null); while (!queue.isEmpty() && queue.peek() != null) { TreeNode top = queue.remove(); levelList.add(top.val); if (top.left != null) queue.add(top.left); if (top.right != null) queue.add(top.right); if (queue.peek() == null) { queue.remove(); queue.add(null); list.add(new ArrayList<Integer>(levelList)); levelList.clear(); } } return list; }}
0 0
- LeetCode[Tree]: Binary Tree Level Order Traversal
- *(leetcode) Binary Tree Level Order Traversal (tree)
- [leetcode][tree] Binary Tree Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal
- LeetCode: Binary Tree Zigzag Level Order Traversal
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal
- [LeetCode]Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Level Order Traversal
- LeetCode Binary Tree Level Order Traversal II
- python爬虫抓网页的总结
- Nginx配置文件详细说明(vlc访问m3u8文件-2)
- WPF备忘录(7)WPF图片资源路径介绍
- 轻松实现SQL Server与Access、Excel数据表间的导入导出 【转载】
- IOS高级教程3:UITapGestureRecognizer手势识别的简单使用到精通
- [LeetCode] Binary Tree Level Order Traversal
- HTTP Keep-Alive详解
- Eclipse 安装最新SVN插件
- git笔记之多账户的使用
- Android手机通过wifi进行数据传输(四)
- Objective-c中的Block(块)详解
- 带着这样的心情我开始了新的建筑之旅
- Java线程与同步
- phonegap3.0配置