剑指offer - 从上往下遍历二叉树
来源:互联网 发布:pxe网络启动winpe 编辑:程序博客网 时间:2024/05/20 10:23
二叉树结点定义如下:
struct BinaryTreeNode{int value;BinaryTreeNode *pLeft;BinaryTreeNode *pRight;};
分析:按层打印的顺序决定了我们应该先打印根节点,之后为了打印根节点的左右结点,我们需要把这两个子结点保存到一个queue的容器中。之后读取左结点,把它打印出来后,若它包含孩子结点,则还是按照顺序将它的孩子结点保存到队列的末尾。最后到队列的头部取出最早进入队列的结点,重复前面的打印操作,直至队列中所有的结点都被打印为止。
代码实现:
void printFromTopToBottom( BInaryTreeNode *root){ if( !root ) return; std::queue<BinaryTreeNode *> dequeTreeNode; dequeTreeNode.push_back(root); while( dequeTreeNode.size() ){ BinaryTreeNode *Node = dequeTreeNode.front(); dequeTreeNode.pop_front(); printf("%d", Node->value ); if( Node->pLeft ) dequeTreeNode.push_back( Node->pLeft ); if( Node->pRight ) dequeTreeNode.push_back( Node->pRight ); }}
0 0
- 剑指offer - 从上往下遍历二叉树
- 剑指offer:从上往下打印二叉树(层遍历二叉树)
- 剑指Offer--023-从上往下打印二叉树(层次遍历二叉树)
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 剑指Offer——(22)从上往下打印二叉树&&层次遍历
- 剑指offer:第23题从上往下打印二叉树-广度遍历
- 剑指offer--从上往下打印二叉树--层次遍历、广度优先搜索
- 剑指Offer------从上往下打印二叉树(层序遍历)
- 剑指offer: 从上往下打印二叉树(树)
- 剑指offer:从上往下打印二叉树
- 剑指offer系列源码-从上往下打印二叉树
- 剑指offer--从上往下打印二叉树
- 剑指Offer之 - 从上往下打印二叉树
- 剑指offer 23 - 从上往下打印二叉树
- 剑指offer之从上往下打印二叉树
- 《剑指offer》之从上往下打印二叉树
- 《剑指offer》从上往下打印二叉树
- 剑指Offer系列---(25)从上往下打印二叉树
- 番茄工作法中所提到的低效现象
- POJ1256--全排列
- 栈内存的临时性不能返回局部变量地址
- 使用Spring + quartz集群持久化时注意事项
- 面向对象的比较
- 剑指offer - 从上往下遍历二叉树
- Java 构建二叉树
- hdu5489 Removed Interval
- 笔试题:背包问题代码实现
- iOS中消息的传递机制
- 为应用添加搜索功能
- 树和二叉树
- [hiho]#1041 : 国庆出游 树的前序遍历校验
- 优先队列+BFS