Binary Tree Level Order Traversal

原题链接Binary Tree Level Order Traversal

二叉树的逐层遍历,不过是要求每一层占用一个vector

递归即可,时刻记录当前处在第几层

/*** 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>> levelOrder(TreeNode* root) {vector<vector<int>> res;levelOrder(root, res, 0);return res;}
private:void levelOrder(TreeNode* root, vector<vector<int>>& res, int h){if(!root)   return;if(h == res.size())res.emplace_back(vector<int>());levelOrder(root->left, res, h + 1);levelOrder(root->right, res, h + 1);res[h].emplace_back(root->val);}
};

原题链接Binary Tree Level Order Traversal II

逐层遍历,要求顺序和上面相反

额,求完直接逆序即可

/*** 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>> levelOrderBottom(TreeNode* root) {vector<vector<int>> res;levelOrder(root, res, 0);std::reverse(res.begin(), res.end());return res;}
private:void levelOrder(TreeNode* root, vector<vector<int>>& res, int h){if(!root)   return;if(h == res.size())res.emplace_back(vector<int>());levelOrder(root->left, res, h + 1);levelOrder(root->right, res, h + 1);res[h].emplace_back(root->val);}
};

每天一道LeetCode-----二叉树逐层遍历,每一层存在一个序列中,返回所有序列集合相关推荐

  1. 二叉树层次遍历算法 python_二叉树的遍历详解:前、中、后、层次遍历(Python实现)...

    二叉树的遍历详解:前.中.后.层次遍历(Python实现) 二叉树是一种常见的数据结构,而它的常见遍历方法有前序遍历.中序遍历.后续遍历.层次遍历--掌握这几种遍历方法是很有必要的. 假设我们二叉树节 ...

  2. LeetCode:二叉树层序遍历

    102.二叉树的层序遍历 思路: 用队列实现层序遍历 1.创建二维数组最终存放二叉树的每一层的元素 2.创建队列实现每一层的遍历 3.遍历 3.1 先存放第一层节点 3.2 遍历每一层的节点 先确定每 ...

  3. 【每日一题】leetcode 二叉树层序遍历 - 介绍

    层序遍历 遍历顺序为: F B G A D I C E H 一层一层遍历 代码 import java.util.ArrayList; import java.util.LinkedList; imp ...

  4. c语言二叉树的遍历菜单系统,二叉树遍历C语言的实现

    广告 提供50多种云计算产品,包括云服务器和云. 创建一站式云产品试用服务,以帮助开发人员和企业以零门槛进入云环境. 上面的代码很简单,上面的图片很容易理解. 下一点是焦点: 二叉树的遍历分为前遍,中 ...

  5. leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  6. 深度优先遍历算法-03二叉树路径遍历问题

    二叉树路径遍历 简述 比较基础的一个DFS的题目,但是确实很多难题的模板.LeetCode很多二叉树的题本质上就是这个路径遍历. 本题为了输出路径,使用DFS的经典结构栈完成. 问题描述 给定一个二叉 ...

  7. 二叉树层次遍历:队列

    二叉树层次遍历 二叉树层次遍历的基本算法在本文中不提及.本文内容为,在二叉树层次遍历中,为何选用队列这样一种数据结构. 不使用额外数据结构 首先,假设我们不使用额外的数据结构,只使用 1 个指针: 访 ...

  8. 二叉树的遍历—广度优先(BFS)和深度优先(DFS)python实现

    二叉树 二叉树(Binary tree)是树形结构的一个重要类型.对于二叉树的基础知识这里不做过多介绍,下面我们直接介绍二叉树的遍历方式和如何用python代码去实现二叉树的遍历. 二叉树的遍历(重点 ...

  9. 二叉树垂直遍历 java_【004】二叉树垂直遍历

    二叉树垂直遍历 题目描述 输入输出 示例输入 实例输出 DFS BFS 更简单的方法 二叉树垂直遍历 题目描述 对于一个二叉树,输出它的垂直遍历结果:对于同一列的节点,按照从左向右,从上向下的顺序排列 ...

最新文章

  1. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...
  2. Git学习记录 力做全网最强入门教程
  3. Struts2的标签概述
  4. python3 xlrd包的用法
  5. 你与产品经理之间差的才不只是一段代码!
  6. 不用加号实现两整数相加
  7. python-学生管理系统--6 搜索功能模块
  8. APIcloud解决检出到指定路径:false问题
  9. Matlab生成zipf随机数
  10. python使用turtle绘制一个正方形
  11. centos 7重置密码
  12. 【数学】树的重心的性质及其证明
  13. 如何在Android上访问iCloud服务
  14. 日语自我介绍 自己紹介・自己PR
  15. flannel vxlan切换成host-gw
  16. ubuntu 使用 OneNote
  17. 查看本机mac地址/ ipconfig /all 的一点笔记
  18. android系统最近删除照片,安卓手机最近删除的照片怎么恢复?专家教你这样做...
  19. 小王的摆烂日记之6月工作总结
  20. 从如“何看待人工智能“”开始

热门文章

  1. 启动日志_Hybris服务器启动日志分析
  2. ImCash:币圈英文术语大全
  3. Linux的简单介绍.
  4. 一次利用位图索引进行SQL优化的案例
  5. unity实现一个物体绕着某点旋转
  6. Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]
  7. 剑指offer55 字符流中第一个不重复的字符(最典型错误)
  8. 2、eclipse中使用Maven
  9. 优雅的让Fragment监听返回键
  10. 用程序算法做人生选择