题目描述
从上往下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
源码
/*
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> vec;
vector<TreeNode*> vecp;
if(root==NULL) return vec;
vecp.push_back(root);
while(!vecp.empty())
{
TreeNode* ptop= vecp[0];
vec.push_back(ptop->val);
if(ptop->left) vecp.push_back(ptop->left);
if(ptop->right) vecp.push_back(ptop->right);
vecp.erase(vecp.begin());
}
return vec;
}
};