LeetCode:Binary Tree Level Order Traversal
来源:互联网 发布:数据可视化开源工具 编辑:程序博客网 时间:2024/06/16 06:20
Binary Tree Level Order Traversal
Total Accepted: 105297 Total Submissions: 318601 Difficulty: Easy
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.
Subscribe to see which companies asked this question
Hide Similar Problems
思路:
层次遍历,BFS。
新
java code:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<TreeNode>(); List<List<Integer>> ans = new LinkedList<List<Integer>>(); if(root == null) return ans; queue.offer(root); while(!queue.isEmpty()) { int size = queue.size(); List<Integer> subAns = new LinkedList<Integer>(); for(int i=0;i<size;i++) { TreeNode tmp = queue.poll(); subAns.add(tmp.val); if(tmp.left != null) queue.offer(tmp.left); if(tmp.right != null) queue.offer(tmp.right); } ans.add(subAns); } return ans; }}
c++ code:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> ret; if(NULL == root) return ret; queue<TreeNode *> q[2]; stack<vector<int>> s; int cur=0; q[cur].push(root); while(!q[cur].empty()) { vector<int> tmp; while(!q[cur].empty()) { TreeNode *p = q[cur].front(); tmp.push_back(p->val); if(p->left) q[cur^1].push(p->left); if(p->right) q[cur^1].push(p->right); q[cur].pop(); } cur^=1; ret.push_back(tmp); } return ret; }};
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
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决办法
- 经典算法和数据结构(三): 平衡查找树之红黑树
- 啊哈!!字符串
- CentOS 打开mysql 3306端口
- 智能指针实现
- LeetCode:Binary Tree Level Order Traversal
- UWP应用的访问文件资源的URI
- centos不能桥接上网的问题
- Opencv源码之平面点集的最小包围圆
- 11.Spark Streaming源码解读之Driver中的ReceiverTracker架构设计以及具体实现彻底研究
- 我的求职简历(大三学生)
- hibernate Restrictions用法 MatchMode.ANYWHERE
- LeetCode:Binary Tree Inorder Traversal
- 数组类运算的实现