剑指offer60 层序打印二叉树
来源:互联网 发布:朱婷 大冠军杯 知乎 编辑:程序博客网 时间:2024/06/05 18:00
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
/*
struct TreeNode {int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};
*/
//先进先出用队列
class Solution {
public:
vector<vector<int> > Print(TreeNode* pRoot) {
vector<vector<int> >vvi;//定义二维数组
if(pRoot==NULL)
return vvi;
TreeNode*pNode;
std::queue<TreeNode*>q;
q.push(pRoot);
while(!q.empty())
{
int size=q.size();
vector<int>vi;
while(size--)//一开始战中的数据减完,上层的数据,--size和size--的区别,--
//size--是先执行下面的操作再--,如果是--size就是错的
{
pNode=q.front();//删除队列里面最前端的数,队列是先进先出
q.pop();
vi.push_back(pNode->val);//把队列节点放到数组中
if(pNode->left ) q.push(pNode->left);//把下一层的数据放进去
if(pNode->right) q.push(pNode->right);
}
if(!vi.empty())
vvi.push_back(vi);//把保存某层数据的数组放到二维数组中
}
return vvi;
}
};
阅读全文
0 0
- 剑指offer60 层序打印二叉树
- 剑指 offer:从上到下打印二叉树(层序遍历)
- 二叉树的层序打印
- [剑指offer]按层打印二叉树
- 剑指offer:按层打印二叉树
- 平层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 按层打印二叉树
- 层序遍历二叉树&打印其中一层
- 镜像二叉树并层序打印 Java实现
- 剑指Offer-->从上向下打印二叉树(层序遍历 + 详解)
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 剑指Offer23 : 从上而下打印二叉树--层序遍历
- 剑指Offer_面试题23_从上到下打印二叉树(层序遍历)
- UGUI检测鼠标进入退出
- 一文带你了解Linux平均负载之谜
- C语言中宏的使用
- 【DL--16】深度学习架构清单
- /etc/fstab 参数详解及如何设置开机自动挂载
- 剑指offer60 层序打印二叉树
- Qt——开始
- opencv
- C++的static用法
- 不起眼的 z-index 却能牵扯出这么大的学问
- 对象Object++、String
- “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured
- Android4.4关于电阻屏调试和校准
- 算法时间复杂度