//该题原本想用递归实现,但却用循环实现了。。。
//关键用了个队列
#include <queue> void Print(BinaryTreeNode* pRoot, std::queue<BinaryTreeNode*>& Qbt)
{
if(pRoot != NULL)
{
cout<<pRoot->m_nValue; if(pRoot->pLeft)
Qbt.push(pRoot->pLeft);
if(pRoot->pRight)
Qbt.push(pRoot->pRight);
}
} int main()
{
std::queue<BinaryTreeNode*> Qbt; //省略了创建树的过程,假设其根节点为pRoot
Qbt.push(pRoot); while(!Qbt.empty())
{
Print(Qbt.front());
Qbt.pop();
} }
相关文章
- 10-09【剑指Offer-画图让抽象问题形象化】面试题29:顺时针打印矩阵
- 10-09剑指offer-面试题12-矩阵中的路径-回溯法
- 10-09剑指offer——面试题23:链表中环的入口节点
- 10-09剑指offer面试题17:合并两个排序的链表
- 10-09【剑指Offer】面试题18. 删除链表的节点
- 10-09经典面试题目——找到第n个丑数(参考《剑指offer(第二版)》面试题49)
- 10-09【剑指Offer】面试题29. 顺时针打印矩阵
- 10-09剑指offer-面试题13-机器人的运动范围-递归法
- 10-09剑指Offer(牛客版)--面试题13:机器人的运动范围
- 10-09【剑指offer】面试题30:最小的 k 个数