从上往下打印二叉树
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解题思路
- 层序遍历二叉树,借助队列实现
- 根节点入队以后,陆续取队首节点,访问,并将其子节点入队
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int>ans;
if(root==NULL) return ans;
queue<TreeNode *>q;
q.push(root);
while(!q.empty()){
TreeNode *now = q.front();
q.pop();
ans.push_back(now->val);
if(now->left) q.push(now->left);
if(now->right) q.push(now->right);
}
return ans;
}
};