LeetCode 50 Binary Tree Level Order Traversal
来源:互联网 发布:淘宝怎么查看消费总额 编辑:程序博客网 时间:2024/06/04 19:25
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 7return its level order traversal as:
[ [3], [9, 20], [15, 7]]分析;
层序遍历,用队列,实质上是广度优先遍历。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> result = new ArrayList<List<Integer>>(); if(root == null) return result; Queue<TreeNode> q1 = new LinkedList<TreeNode>(); Queue<TreeNode> q2 = new LinkedList<TreeNode>(); q1.add(root); while(q1.size()>0 || q2.size()>0 ){ List<Integer> level = new ArrayList<Integer>(); if(q1.size()>0){ while(q1.size()>0){ TreeNode temp = q1.remove(); level.add(temp.val); if(temp.left != null) q2.add(temp.left); if(temp.right != null) q2.add(temp.right); } result.add(level); continue; } if(q2.size()>0){ while(q2.size()>0){ TreeNode temp = q2.remove(); level.add(temp.val); if(temp.left != null) q1.add(temp.left); if(temp.right != null) q1.add(temp.right); } result.add(level); } } return result; }}
0 0
- LeetCode 50 Binary Tree Level Order Traversal
- 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
- 常用的正则表达式
- Java的Win7下配置
- 时间格式
- Python
- AutoCAD2012 ObjectArx 工程测量插件程序设计
- LeetCode 50 Binary Tree Level Order Traversal
- Java消息队列
- PHP探针 转自百度百科
- Codeforces 461C Appleman and a Sheet of Paper(模拟)
- IOS开发的各种坑
- 按时大哥哥犯嘀咕
- kettle连接hadoop,hbase
- table导出到excel中
- activity状态的保存和保持(onRetainNonConfigurationInstance和getLastNonConfigurationInstanc