思路:
1.将树的根节点加入到队列。
2.取队列的头节点,将头节点对应的数值打印。若头节点有子节点,将子节点添加进队列,并将头节点从队列中弹出。
3.当队列为空时,停止打印。
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int> result;
if(root==NULL)
return result;
queue<TreeNode*> data;
data.push(root);
TreeNode* data_front;
while(!data.empty()){//队列为空时停止打印
data_front=data.front();
result.push_back(data_front->val);
if(data_front->left!=NULL)
data.push(data_front->left);
if(data_front->right!=NULL)
data.push(data_front->right);
data.pop();
}
return result;
}
二叉树层次遍历
本文介绍了一种二叉树的层次遍历算法,通过队列实现从上至下的逐层节点访问。该方法首先将根节点加入队列,然后依次取出队首节点并打印其值,同时将其子节点加入队列,直至队列为空。

被折叠的 条评论
为什么被折叠?



