面试题60:把二叉树打印成多行
来源:互联网 发布:javascript charat 编辑:程序博客网 时间:2024/05/13 14:11
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
解:
队列实现
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int>> result; if(!pRoot) return result; int toBePrinted = 1; int nextLevel = 0; queue<TreeNode*> q; q.push(pRoot); vector<int> v; while(!q.empty()){ TreeNode* pCur = q.front(); q.pop(); v.push_back(pCur->val); --toBePrinted; if(pCur->left){ q.push(pCur->left); ++nextLevel; } if(pCur->right){ q.push(pCur->right); ++nextLevel; } if(!toBePrinted){ result.push_back(v); v.clear(); toBePrinted = nextLevel; nextLevel = 0; } } return result; }};
0 0
- 面试题60:把二叉树打印成多行
- 剑指offer-面试题60:把二叉树打印成多行
- 面试题60:把二叉树打印成多行
- 剑指offer--面试题60:把二叉树打印成多行
- 剑指offer-面试题60-把二叉树打印成多行
- 面试题60:把二叉树打印成多行
- 剑指offer 面试题60 把二叉树打印成多行
- 面试题60:把二叉树打印成多行
- 【剑指Offer】面试题60:把二叉树打印成多行
- 面试题67:把二叉树打印成多行
- 面试题60. 把二叉树打印成多行
- 剑指Offer面试题60:把二叉树打印成多行 Java实现
- 剑指offer面试题60 把二叉树打印成多行(Java实现)
- (剑指Offer)面试题61:把二叉树打印成多行
- 《剑指Offer》学习笔记--面试题60:把二叉树打印出多行
- 【剑指Offer学习】【面试题60:把二叉树打印出多行】
- 剑指offer面试题[60]-将二叉树打印成多行
- 面试题 23: 从上到下打印二叉树
- 明明的随机数(C/C++)
- javaScript基础---(一):如何在网页中实现javaScript脚本语言
- 贪吃蛇(关卡设计)
- HDU3555-Bomb
- C++构造函数;
- 面试题60:把二叉树打印成多行
- 字符串和字符串结束标志(二)
- Spring设计及源码分析
- 面试题61:按之字形顺序打印二叉树
- 基于Lucene的搜索引擎的建立
- 用Java2D画出树的结构图
- DPMM(狄利克雷过程混合模型)浅解和添加似然函数的问题
- 2017算法课.10(Find All Numbers Disappeared in an Array)
- 设计学校官网框架