题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
分析:二叉树的层序遍历,数据结构基本操作,借助一个队列即可实现。切记切记!
/*
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> tree;
queue<TreeNode*> que;
TreeNode *tem=NULL;
if(root==NULL)
return tree;
que.push(root);
while(!que.empty()){
tem=que.front();
que.pop();
tree.push_back(tem->val);
if(tem->left)
que.push(tem->left);
if(tem->right)
que.push(tem->right);
}
return tree;
}
};