从上往下打印二叉树
2016-06-18 14:42
204 查看
题目:从上向下答应二叉树
思路:其实就是分层遍历,只需要借助一个队列即可完成,具体代码如下:
不足之处,欢迎批评指正。
/*
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) {
vector<int> res;
if(root==NULL) return res;
queue<TreeNode*> temp;
temp.push(root);
while(!temp.empty()){
TreeNode* x=temp.front();
temp.pop();
res.push_back(x->val);
if(x->left)
temp.push(x->left);
if(x->right)
temp.push(x->right);
}
return res;
}
};
思路:其实就是分层遍历,只需要借助一个队列即可完成,具体代码如下:
不足之处,欢迎批评指正。
/*
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) {
vector<int> res;
if(root==NULL) return res;
queue<TreeNode*> temp;
temp.push(root);
while(!temp.empty()){
TreeNode* x=temp.front();
temp.pop();
res.push_back(x->val);
if(x->left)
temp.push(x->left);
if(x->right)
temp.push(x->right);
}
return res;
}
};
相关文章推荐
- AVL树-自平衡二叉查找树(Java实现)
- 文件遍历排序函数
- Lua 学习笔记之C API 遍历 Table实现代码
- C#遍历文件夹后上传文件夹中所有文件错误案例分析
- C#中遍历Hashtable的4种方法
- Erlang中遍历取出某个位置的最大值代码
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析
- C++实现图的邻接表存储和广度优先遍历实例分析
- C语言二叉树的非递归遍历实例分析
- 使用C语言构建基本的二叉树数据结构
- 一波二叉树遍历问题的C++解答实例分享
- 举例讲解C语言程序中对二叉树数据结构的各种遍历方式
- C++非递归队列实现二叉树的广度优先遍历
- php遍历目录方法小结
- 一个目录遍历函数
- php遍历删除整个目录及文件的方法
- PHP遍历文件夹与文件类及处理类用法实例
- PHP遍历XML文档所有节点的方法
- 平衡二叉树
- 二叉树