二叉树层序遍历
2015-10-05 10:40
387 查看
给一棵二叉树
返回他的分层遍历结果:
[/code]
{3,9,20,#,#,15,7}:
3 / \ 9 20 / \ 15 7
返回他的分层遍历结果:
[ [3], [9,20], [15,7] ]
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists of integer */ public: vector<vector<int>> levelOrder(TreeNode *root) { // write your code here vector<vector<int>>res; if(root==NULL) return res; queue<TreeNode*>q; q.push(root); while(!q.empty()){ int size=q.size(); vector<int>oneLevel; for(int i=0;i<size;i++){ TreeNode *tmp=q.front();q.pop(); oneLevel.push_back(tmp->val); if(tmp->left) q.push(tmp->left); if(tmp->right) q.push(tmp->right); } res.push_back(oneLevel); } return res; } };
[/code]
相关文章推荐
- 路由器桥接设置
- ocp-119
- SpriteBuilder中音频文件格式的需要注意的地方
- ocp-118
- POJ1450解题报告
- ocp-117
- SpriteBuilder中音频文件格式的需要注意的地方
- SpriteBuilder中音频文件格式的需要注意的地方
- C++ 大数版的加减乘除代码实现总结
- 查看vim配置文件并编辑
- ocp-116
- ocp-115
- ocp-114
- ocp-113
- Android学习【6】BroadcastReceiver和接口的使用
- ocp-112
- 【字符串反转总结】Java中七种方法实现
- 编译器(GNU & GCC & clang & llvm)
- GCC强大背后
- 将一个数拆解成多个数之和