Leetcode[102]-Binary Tree Level Order Traversal
2015-06-13 10:49
579 查看
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},
return its level order traversal as:
思路: 使用层序遍历,一层一层的出队,并将节点值放入数组中;
代码C++:
有问题,来一起讨论吧~
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] ]
思路: 使用层序遍历,一层一层的出队,并将节点值放入数组中;
代码C++:
/** * 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> > res; vector<int> nums; if(root == NULL) return res; queue<TreeNode *> que; TreeNode *p = root; que.push(p); while(!que.empty()){ int queSize = que.size(); nums.resize(0); for(int i = 0; i < queSize; i++){ p = que.front(); nums.push_back(p->val); if(p->left) que.push(p->left); if(p->right) que.push(p->right); que.pop(); } res.push_back(nums); } return res; } };
有问题,来一起讨论吧~
相关文章推荐
- 如何改善或解决无法集中注意力思考问题的情况?
- Matlab的Profile功能
- 探索Android该Parcel机制(上)
- Fixed固定位置的悬浮div层
- 《Pro Ogre 3D Programming》读书笔记 之 第十一章 动态阴影
- 由先序序列/后序序列和中序序列构造二叉树
- IOS开发—视图控制器左边缘右滑pop出栈
- cocos2d-x3.2中将XCode发展project转移到VS2010可能会发生错误
- Hibernate中Criteria的完整用法
- 那些在学习iOS开发前就应该知道的事
- 常用的php ADODB使用方法集锦
- 又安上了好多otherthings.......
- SOA面向服务架构的一些思考
- Javascript中call的使用
- [leetcode] House Robber II
- Java-核心技术总结-第3章
- VM虚拟机中的Ubuntu设置固定IP上网图文教程
- eclipse打开文件所在的本地文件夹
- 初识Struts2框架
- Android获取屏幕分辨率及DisplayMetrics简介