题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解:该题是二叉树的层次遍历,借助队列queue来实现。
// 二叉树的层次遍历,借助于队列queue实现
vector<int> PrintFromTopToBottom(TreeNode*root)
{
vector<int> res;
if(!root)
return res;
queue<TreeNode*> q;
q.push(root);
while(!q.empty())
{
res.push_back(q.front()->val);
if(q.front()->left!=NULL)
q.push(q.front()->left);
if(q.front()->right!=NULL)
q.push(q.front()->right);
q.pop();
}
return res;
}