面试题61 把二叉树打印成多行
2016-04-10 21:53
453 查看
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。/* 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> > vec; if(pRoot == NULL) return vec; queue<TreeNode*> q; q.push(pRoot); while(!q.empty()) { int lo = 0, hi = q.size(); vector<int> c; while(lo++ < hi) { TreeNode *t = q.front(); q.pop(); c.push_back(t->val); if(t->left) q.push(t->left); if(t->right) q.push(t->right); } vec.push_back(c); } return vec; } };
相关文章推荐
- 面试题60 按之字形顺序打印二叉树
- JAVA多线程和并发基础面试问答
- 【转】程序员技术练级攻略
- LeetCode(39)-Intersection of Two Linked Lists
- 面试题59 对称的二叉树
- 一位Google程序员的算法学习之路
- Android面试常问的技术问题
- 面试题58 二叉树的下一个结点
- SSH框架整合配置所需JAR包(SSH整合)
- 面试题57 删除链表中重复的结点
- Activity生命周期(面试必问)
- error 和 exception的区别
- Android中的Activity四种启动模式(launchMode)(面试必问)
- 面试题56 链表中环的入口结点
- 程序员常识
- 面试题55 字符流中第一个不重复的字符
- 面试题54 表示数值的字符串
- 【总结】PHP常见面试题汇总(四)。。。
- 面试题3-二维数组的查找
- 如何回答「未来5年如何规划?」【面试核心问题8】