题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

解题思路

二叉树的层次序遍历即可,注意vector的边界条件

AC代码

class Solution {public:vector<vector<int>> Print (TreeNode* pRoot) {vector<vector<int>> res;if (pRoot == nullptr) {return res;}queue<Node> que;que.emplace (Node (pRoot, 0));while (!que.empty()) {auto t = que.front();que.pop();if (res.size() < t.depth + 1) {  // 注意深度判别vector<int>vec;res.emplace_back (vec);}res[t.depth].push_back (t.ptr->val);if (t.ptr->left != nullptr) {que.emplace (Node (t.ptr->left, t.depth + 1));}if (t.ptr->right != nullptr) {que.emplace (Node (t.ptr->right, t.depth + 1));}}return res;}struct Node {TreeNode* ptr;int depth;Node (TreeNode* p, int dp):ptr (p), depth (dp) {}};
};

剑指offer之把二叉树打印成多行相关推荐

  1. 《剑指offer》把二叉树打印成多行

    题目:从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 解析:层次遍历二叉树,要点是要用队列存储节点信息.还有个问题,如何知道要换层?答案是用一个计数器current指示当前层的节点个 ...

  2. 剑指offer——面试题60:把二叉树打印成多行

    剑指offer--面试题60:把二叉树打印成多行 Solution1: 20180911重做.经典题目.牢记做法! /* struct TreeNode {int val;struct TreeNod ...

  3. 《剑指offer》-- 二叉树的下一个结点、对称二叉树、按之字性顺序打印二叉树、把二叉树打印成多行

    一.二叉树的下一个结点: 1.题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 2.解题思路: 分析二叉树 ...

  4. 剑指offer编程试题Java实现--60.把二叉树打印成多行

    个人博客:小景哥哥 60.把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. import java.util.ArrayList; import java ...

  5. 【LeetCode】剑指 Offer 37. 序列化二叉树

    [LeetCode]剑指 Offer 37. 序列化二叉树 文章目录 [LeetCode]剑指 Offer 37. 序列化二叉树 package offer;import java.util.Link ...

  6. 【LeetCode】剑指 Offer 67. 把字符串转换成整数

    [LeetCode]剑指 Offer 67. 把字符串转换成整数 文章目录 [LeetCode]剑指 Offer 67. 把字符串转换成整数 package offer;public class So ...

  7. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串

    [LeetCode]剑指 Offer 46. 把数字翻译成字符串 文章目录 [LeetCode]剑指 Offer 46. 把数字翻译成字符串 package offer;public class So ...

  8. 【LeetCode】剑指 Offer 07. 重建二叉树

    [LeetCode]剑指 Offer 07. 重建二叉树 文章目录 [LeetCode]剑指 Offer 07. 重建二叉树 package offer;import java.util.ArrayD ...

  9. 【LeetCode】剑指 Offer 68 - II. 二叉树的最近公共祖先

    [LeetCode]剑指 Offer 68 - II. 二叉树的最近公共祖先 文章目录 [LeetCode]剑指 Offer 68 - II. 二叉树的最近公共祖先 一.DFS 一.DFS 祖先的定义 ...

最新文章

  1. 【连载】【黑金动力社区原创力作】《液晶驱动与GUI 基础教程》 --序言(一)
  2. 白话Elasticsearch26-深度探秘搜索技术之function_score自定义相关度分数算法
  3. 机器学习-常见的损失函数比较
  4. ubuntu: no module named _sqlite
  5. html语言中项目列表的嵌套,做HTML嵌套列表的正确方法?
  6. 求序列最长不下降子序列_最长不下降子序列nlogn算法详解
  7. 智慧城市_城市大脑:加速构建智慧城市
  8. 电子政务方向:We7.Cloud政府云门户
  9. div 显示滚动条的CSS代码
  10. linux 搭建日志服务器
  11. QT-C++ Nesting排料优化,广告,服装,木工排料(支持矩形、异形排版,提高优化效率)
  12. java发送qq邮件
  13. java格式化日期24小时_Java如何格式化24小时格式的时间?
  14. 强化学习(RL)QLearning算法详解
  15. 如何用手机实现高精度定位导航
  16. win7修复计算机卡了,Win7修复漏洞补丁后系统变卡的原因和解决方法
  17. python中统计函数_Python中的统计函数
  18. 喵的Unity游戏开发之路 - 攀爬
  19. 服务器电脑用哪个系统好,电脑系统哪个好用?电脑系统有几种版本
  20. 路径算法:遗传算法 (Genetic Algorithm, GA)

热门文章

  1. 对象测试_心理测试:你会选择跟对象去吃什么夜宵?测你治愈失恋的方法是什么...
  2. 李宏毅机器学习之Classification
  3. ~~约数个数(附模板题)
  4. #CSP 201709-1 打酱油
  5. 《深度学习笔记》——防止梯度消失的学习笔记
  6. Altium AD20大电流表层开窗,用特殊粘贴复制平面区域到其他层,阻焊开窗显示沉金LOGO
  7. 【算法设计】最大子矩阵问题
  8. 【GTK】信号量(signal)大全
  9. 【COGS2652】—天文密葬法(分数规划+长链剖分)
  10. 记一次海洋cms任意代码执行漏洞拿shell(url一句话)