leetcode - Binary Tree Level Order Traversal
来源:互联网 发布:钱咖返利数据为空 编辑:程序博客网 时间:2024/06/14 15:43
题目:
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]
]
解法:
类似图的广度优先搜索BFS
public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { if(root == null) return null; ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>(); LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); ArrayList<Integer> list = new ArrayList<Integer>(); int curNum = 0; int lastNum = 1; while(!queue.isEmpty()){ TreeNode cur = queue.poll(); list.add(cur.val); --lastNum; if(cur.left != null){ queue.add(cur.left); ++curNum; } if(cur.right != null){ queue.add(cur.right); ++curNum; } if(lastNum == 0){ res.add(list); lastNum = curNum; curNum = 0; list = new ArrayList<Integer>(); } } return res;}
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
- springmvc+mybatis + rest + Webservice CXF
- 对一个程序的思考2(各编译器指针类型)
- LeetCode Unique Paths II
- Android下Mainfest配置文件下各节点作用和各节点的标签作用
- Yaf零基础学习总结1-Yaf框架简介
- leetcode - Binary Tree Level Order Traversal
- Sql优化(一) Merge Join vs. Hash Join vs. Nested Loop
- MariaDBGalera集群安装配置
- Yaf零基础学习总结2-Yaf框架的安装
- 51页第九题
- springmvc CXF webservice
- android 修改ramdisk.img和init.rc && android启动后设置/data权限为770
- poj 2186 Popular Cows(Tarjan)
- iOS错误:<Error>: ImageIO: PNG IDAT: invalid stored block lengths