void PrintNodeByLevel3(Node *root)
{
deque<Node*>q1,q2;
q1.push_back(root);
while(!q1.empty())
{
while(!q1.empty())
{
Node *node=q1.front();
q1.pop_front();
cout<<node->data<<" ";
if(node->left)
q2.push_back(node->left);
if(node->right)
q2.push_back(node->right);
}
cout<<endl;
q1.swap(q2);
}
}按层次遍历二叉树
最新推荐文章于 2022-04-14 23:32:20 发布
本文介绍了一种使用双端队列来实现二叉树层次遍历的方法。通过交替使用两个双端队列,可以方便地按层次顺序打印出二叉树的节点数据。该算法首先将根节点加入到第一个队列中,然后依次处理每个队列,直到队列为空。每次处理完一个队列后,都会将其内容全部转移到另一个队列中继续处理。
9734

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



