<剑指offer> 从上往下打印二叉树
来源:互联网 发布:软件开发英语不会 编辑:程序博客网 时间:2024/06/06 01:08
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:相当于bfs(图中广度优先遍历)
借助队列实现(初始化一个队列)
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
queue<TreeNode*> q; //初始化一辅助用的队列
vector<int> v; //存储每个结点的值
q.push(root); //将队列入队列
while(!q.empty()) //若当前队列不为空
{
TreeNode* r = q.front(); //获取队列的首元素并弹出
q.pop();
if(!r) //若该元素不存在,下面的程序就不运行,继续下一次循环
continue; //该判断语句作用:当q.push(r->left) or q.push(r->right),左子树或右子树为空时 ,入队列为空指针
//也可以在循环之前和进入队列之前判断是否为空指针(3次判断)
v.push_back(r->val);
q.push(r->left);
q.push(r->right);
}
return v;
}
};
- 剑指offer: 从上往下打印二叉树(树)
- 剑指offer:从上往下打印二叉树
- 剑指offer系列源码-从上往下打印二叉树
- 剑指offer--从上往下打印二叉树
- 剑指Offer之 - 从上往下打印二叉树
- 剑指offer 23 - 从上往下打印二叉树
- 剑指offer之从上往下打印二叉树
- 《剑指offer》之从上往下打印二叉树
- 《剑指offer》从上往下打印二叉树
- 剑指Offer系列---(25)从上往下打印二叉树
- 剑指offer—从上往下打印二叉树
- 剑指Offer-23-从上往下打印二叉树
- 剑指offer:从上往下打印二叉树
- 《剑指offer》——从上往下打印二叉树
- 剑指offer-从上往下打印二叉树
- 剑指offer 22 从上往下打印二叉树
- 【剑指offer系列】 从上往下打印二叉树___23
- 剑指offer面试题 从上往下打印二叉树
- 单片机工作方式
- ARM 汇编指令
- Android Scroll实现弹性滑动 一 列表下拉弹性滑动
- win8.1打开axure8.0闪退的问题
- Gym
- <剑指offer> 从上往下打印二叉树
- startPreview()调用细节分析一
- Android Scroll实现弹性滑动 二 随手弹性滑动
- oracle数据库基于(streams流复制)的双机热备配置手册
- 1003. Emergency (25)
- A/B Problem(大数)
- jQuery笔记
- PRML读书笔记——Kernel Methods
- 友元