不分行从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入{8,6,10,#,#,2,1},如以下图中的示例二叉树,则依次打印8,6,10,2,1(空节点不打印,跳过),请你将打印的结果存放到一个数组里面,返回
方法一:层序遍历二叉树,以前也写过,用一个队列queue来辅助存储节点
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
if(!root){
return {};
}
vector<int> ans;
queue<TreeNode*> qroot;
qroot.push(root);
while(!qroot.empty()){
TreeNode* node = qroot.front();
qroot.pop();
if(node->left) qroot.push(node->left);
if(node->right) qroot.push(node->right);
ans.push_back(node->val);
}
return ans;
}
};