[剑指Offer] 60.把二叉树打印成多行
2024-10-19 03:27:02
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
【思路】使用队列实现二叉树的层次遍历。
/*
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> > res;
if(pRoot == NULL)
return res;
queue<TreeNode*> Que;
Que.push(pRoot);
while(!Que.empty())
{
vector<int> vec;
int size = Que.size();
for(int i = ; i < size; i ++)
{
TreeNode* temp = Que.front();
vec.push_back(temp->val);
if(temp->left)
Que.push(temp->left);
if(temp->right)
Que.push(temp->right);
Que.pop();
}
res.push_back(vec);
}
return res;
}
};
最新文章
- query语句的拼接.
- controller共享数据
- zigbee学习之路(九):串口(发送)
- Dapper ORM 用法—Net下无敌的ORM
- Spring框架之AOP
- elasticsearch1.0 升级2.2的数据备份和恢复
- Dynamics AX 2012 R2 在报表上显示和打印条码
- canvas 绘圆加边框
- PowerDesigner反向生成Mysql数据原型
- 双11不再孤单,结识ECharts---强大的常用图表库
- SpringMVC&ndash;SSH -- RESTful -- JSR303
- docker网络访问(三)
- java学习笔记 --- 面向对象3
- Docker打包 Asp.Net Core应用,在CentOS上运行
- 保留键的情况下取字典中最大的值(max\zip函数的联合使用)
- 正确理解python中的赋值语句:a, b = b, a + b
- gulp安装及使用流程
- django项目----函数和方法的区别
- JPanel添加键盘监听事件
- ios中UIWebview和asiHttprequest的用法
热门文章
- shazam音乐检索算法 附完整c代码
- 实现动态的XML文件读写操作(依然带干货)
- CF 1051 F. The Shortest Statement
- cakephp2.x 多个应用程序公用一个核心类库
- git 取消commit
- python操作字符串内容并重新输出
- Linux命令应用大词典-第 15章 文件、目录权限和属性
- (原) MaterialEditor部- UmateriaEditor中 Node编译过程和使用(3)修正
- [2017 - 2018 ACL] 对话系统论文研究点整理
- UVa 1585 - Score - ACM/ICPC Seoul 2005 解题报告 - C语言