剑指offer-把二叉树打印成多行
2017-08-25 09:47
369 查看
题目:
从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行。
从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行。
struct BinaryTree { int data; BinaryTree *left; BinaryTree *right; }; void print(BinaryTree *pRoot) { if (pRoot == NULL) return; queue <BinaryTree *> nodes; nodes.push(pRoot); int toBePrint = 1;//记录该行要打印数据; int nextLevel = 0;//下一行要打印数据; while (!nodes.empty()) { BinaryTree *pNode = nodes.front(); cout << pNode->data; if (pNode->left != NULL) { nodes.push(pNode->left); ++nextLevel; } if (pNode->right != NULL) { nodes.push(pNode->right); ++nextLevel; } nodes.pop();//弹出队列 --toBePrint; if (toBePrint == 0) { cout << endl; toBePrint = nextLevel; nextLevel = 0; } } }
相关文章推荐
- (剑指Offer)面试题60:把二叉树打印成多行
- 剑指offer(57)-把二叉树打印成多行
- 剑指offer:把二叉树打印成多行
- 《剑指offer》刷题笔记(树):把二叉树打印成多行
- 剑指offer(五十一)之把二叉树打印成多行
- 剑指offer—把二叉树打印成多行
- 剑指offer系列之五十五:把二叉树打印成多行
- 剑指offer之把二叉树打印成多行(Python)
- (剑指Offer)面试题61:把二叉树打印成多行
- 剑指Offer——把二叉树打印成多行
- 剑指Offer——把二叉树打印成多行
- python剑指offer系列把二叉树打印成多行
- 《剑指offer》把二叉树打印成多行
- 剑指Offer--把二叉树打印成多行
- 《剑指offer》把二叉树打印成多行
- 剑指offer——面试题60:把二叉树打印成多行
- 《剑指Offer》学习笔记--面试题60:把二叉树打印出多行
- 《剑指offer》——把二叉树打印成多行
- (剑指offer)把二叉树打印成多行
- 剑指Offer------把二叉树打印成多行(层序遍历)