AcWing 44. 分行从上往下打印二叉树
地址 https://www.acwing.com/problem/content/description/42/
题目描述
从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行。
样例
样例 输入如下图所示二叉树[8, 12, 2, null, null, 6, null, 4, null, null, null] 8 / \ 12 2 / 6 / 4 输出:[[8], [12, 2], [6], [4]]
算法1
在上一题的基础上修改代码 使用null指针作为分割
注意边界条件
C++ 代码
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> res; queue<TreeNode*> que; void bfs() { while(!que.empty()){ vector<int> lineVec; while(!que.empty() && NULL != que.front() ){ TreeNode* p = que.front(); que.pop(); lineVec.push_back(p->val); if(p->left!=NULL) que.push(p->left); if(p->right!=NULL) que.push(p->right); } res.push_back(lineVec); if(!que.empty()){ que.pop(); } if(!que.empty()){ que.push(NULL); } } } vector<vector<int>> printFromTopToBottom(TreeNode* root) { if(root == NULL) return res; que.push(root); que.push(NULL); bfs(); return res; } }; 作者:defddr 链接:https://www.acwing.com/solution/acwing/content/3661/ 来源:AcWing 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力

