https://www.cnblogs.com/wanglei5205/p/8630642.html
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
牛客网题目
https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13&tqId=11175
/*
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> result;
// 边界条件
if(root == NULL)
return result;
// 辅助容器:双端队列(存储指向二叉树节点的指针)
queue<TreeNode*> q;
// 辅助指针:指向队列弹出的指针
TreeNode* fr;
// 根节点入队列
q.push(root);
// 遍历队列
while(!q.empty())
{
//
fr=q.front();
result.push_back(fr->val);
if(fr->left != NULL)
q.push(fr->left);
if(fr->right != NULL)
q.push(fr->right);
q.pop();
}
return result;
}
};