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)
{
deque<TreeNode*>q;
vector<int>res;
if(root==NULL)return res;//一定要添加这句判断,否则当输入是一个空树时,程序就执行不下去了
q.push_back(root);
while(!q.empty())
{ TreeNode* pnode=q.front();
res.push_back(pnode->val);
if(pnode->left!=NULL) q.push_back(pnode->left);
if(pnode->right!=NULL)q.push_back(pnode->right);
q.pop_front();
}
return res;
}
};技巧点建立一个队列