地址:

http://lintcode.com/zh-cn/problem/binary-tree-level-order-traversal/

借助队列来完成

class Solution {
public:/** @param root: A Tree* @return: Level order a list of lists of integer*/vector<vector<int>> levelOrder(TreeNode * root) {// write your code herevector<vector<int>> res;if(root==NULL)return res;queue<TreeNode*> queue;queue.push(root);while(!queue.empty()){vector<int> cur;int len = queue.size();  while(len--){TreeNode *tmp=queue.front();  cur.push_back(tmp->val);queue.pop();if(tmp->left)queue.push(tmp->left);if(tmp->right)queue.push(tmp->right);}res.push_back(cur);}return res;}
};

http://lintcode.com/zh-cn/problem/binary-tree-level-order-traversal-ii/

给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)

这个题目是从底向上,其实类似上题,主要是因为用了vector方便很多:

class Solution {
public:/** @param root: A tree* @return: buttom-up level order a list of lists of integer*/vector<vector<int>> levelOrderBottom(TreeNode * root) {// write your code herequeue<TreeNode*> queue;vector<vector<int>> res;int len;if(root==NULL)return res;queue.push(root);while(!queue.empty()){len = queue.size();vector<int> cur;while(len--){TreeNode* temp = queue.front();cur.push_back(temp->val);queue.pop();if(temp->left){queue.push(temp->left);}if(temp->right){queue.push(temp->right);}}if(!cur.empty())res.insert(res.begin(),cur);}return res;}
};

转载于:https://www.cnblogs.com/rimochiko/p/8440790.html

lintcode:二叉树的层次遍历相关推荐

  1. 69. 二叉树的层次遍历Python实现

    '''69. 二叉树的层次遍历 描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? 样例 给一棵二叉树 {3,9,20,#,#,15,7} :3/ \ ...

  2. 关于二叉树的层次遍历的花样(c++实现)

    花样变形1::二叉树层次遍历但是分层打印 分析:与普通打印多了一个分层打印,其实只要在在层次遍历中多设置一个标记变量即可 代码如下: //二叉树的层次遍历 void levelTravel(BTNod ...

  3. leetcode-102 二叉树的层次遍历

    给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回其层 ...

  4. 【每日一算法】二叉树的层次遍历 II

    每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...

  5. c++根据二叉树的层次遍历建立二叉树_LeetCode | 102.二叉树的层次遍历

    这次来写一下 LeetCode 的第 102 题,二叉树的层次遍历. 题目描述 题目直接从 LeetCode 上截图过来,题目如下: 102.二叉树的层次遍历题目 上面的题就是 二叉树的层次遍历 题目 ...

  6. 七十七、 二叉树的层次遍历和最大深度

    @Author:Runsen 在讲解二叉树的时候,提到二叉树的遍历除了前中后序遍历,还有层次遍历. 前中后序这三种遍历方法以及可以通过递归的方式实现了,那么今天就来讲讲层次遍历吧! 文章目录 Leet ...

  7. 二叉树的层次遍历_【腾讯面试热身题】二叉树层次遍历(动画展示)

    二叉树的层次遍历同时涉及到树和队列两种数据结构的操作,因此大厂很喜欢用来作为面试的热身题.作者不少去腾讯的小伙伴,都反映,这种题一定要非常熟练,不然会被直接pass. 1 题目描述 给定一个二叉树,按 ...

  8. 数据结构——二叉树的层次遍历进阶

    之前的一个博客 数据结构--二叉树的层次遍历看完这个,可以简单实现下面的问题 问题: 1.计算二叉树的最大宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值. 2.用按层次顺序遍历二叉树的方法, ...

  9. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  10. leetcode 102 java_Java实现 LeetCode 102 二叉树的层次遍历

    102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 ...

最新文章

  1. 并发编程的那些事。(二)
  2. 安装scala之后,命令行中输入scala报错nullpointException
  3. php.ini 延迟,php超时报错Maximum execution time of 120 seconds exceeded in解决办法
  4. 【AITISA 第11次标准会议新一代人工智能产业技术创新战略联盟——AI标准工作组】神经网络压缩组会议
  5. 计算机改成服务器,旧电脑主机如何改成服务器
  6. Failed with error: ssh variant simple does not support setting port
  7. 【影视后期】认识After Effects
  8. Portlet开发指南第三章
  9. matlab中ifelse能嵌套吗,MATLAB嵌套if-else语句
  10. Java8 实战系列-01-序章
  11. 金融数据安全分类分级解决方案
  12. 已解决,Nik报错an error occurred while extracting
  13. 看看最新的考试 c语言 noip模拟 纯llq原创作品
  14. ensp上静态路由与浮动路由设置及相应实验操作,超级简单详细
  15. Python数模笔记-NetworkX(5)关键路径法
  16. 什么是储蓄池抽样(Reservoir Sampling)算法?
  17. 囊括3大MCU+DSP开发工程
  18. 自然语言处理从零到入门 自然语言理解NLU
  19. dad my_英文绘本 || My Dad!《我爸爸》
  20. 【ARM嵌入式】实验报告一 熟悉RealView MDK集成开发环境的使用

热门文章

  1. 用python爬取网页数据并存入数据库中源代码_Python爬取51cto数据并存入MySQL方法详解...
  2. 方欣科技算法题面试:蛇形矩阵
  3. JDK/Java 16 可能带来什么新特性?
  4. formdata怎么传数组_如何使用formData上传file数组
  5. 《剑指offer》数组中只出现一次的数字
  6. freemarker迭代list、map等常规操作
  7. spark之1:快速入门
  8. Java Object.hashCode()方法
  9. 剑指offer 翻转链表
  10. Redis 热 Key 发现以及解决办法