lintcode:二叉树的层次遍历
地址:
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:二叉树的层次遍历相关推荐
- 69. 二叉树的层次遍历Python实现
'''69. 二叉树的层次遍历 描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? 样例 给一棵二叉树 {3,9,20,#,#,15,7} :3/ \ ...
- 关于二叉树的层次遍历的花样(c++实现)
花样变形1::二叉树层次遍历但是分层打印 分析:与普通打印多了一个分层打印,其实只要在在层次遍历中多设置一个标记变量即可 代码如下: //二叉树的层次遍历 void levelTravel(BTNod ...
- leetcode-102 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回其层 ...
- 【每日一算法】二叉树的层次遍历 II
每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...
- c++根据二叉树的层次遍历建立二叉树_LeetCode | 102.二叉树的层次遍历
这次来写一下 LeetCode 的第 102 题,二叉树的层次遍历. 题目描述 题目直接从 LeetCode 上截图过来,题目如下: 102.二叉树的层次遍历题目 上面的题就是 二叉树的层次遍历 题目 ...
- 七十七、 二叉树的层次遍历和最大深度
@Author:Runsen 在讲解二叉树的时候,提到二叉树的遍历除了前中后序遍历,还有层次遍历. 前中后序这三种遍历方法以及可以通过递归的方式实现了,那么今天就来讲讲层次遍历吧! 文章目录 Leet ...
- 二叉树的层次遍历_【腾讯面试热身题】二叉树层次遍历(动画展示)
二叉树的层次遍历同时涉及到树和队列两种数据结构的操作,因此大厂很喜欢用来作为面试的热身题.作者不少去腾讯的小伙伴,都反映,这种题一定要非常熟练,不然会被直接pass. 1 题目描述 给定一个二叉树,按 ...
- 数据结构——二叉树的层次遍历进阶
之前的一个博客 数据结构--二叉树的层次遍历看完这个,可以简单实现下面的问题 问题: 1.计算二叉树的最大宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值. 2.用按层次顺序遍历二叉树的方法, ...
- 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- leetcode 102 java_Java实现 LeetCode 102 二叉树的层次遍历
102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 ...
最新文章
- 并发编程的那些事。(二)
- 安装scala之后,命令行中输入scala报错nullpointException
- php.ini 延迟,php超时报错Maximum execution time of 120 seconds exceeded in解决办法
- 【AITISA 第11次标准会议新一代人工智能产业技术创新战略联盟——AI标准工作组】神经网络压缩组会议
- 计算机改成服务器,旧电脑主机如何改成服务器
- Failed with error: ssh variant simple does not support setting port
- 【影视后期】认识After Effects
- Portlet开发指南第三章
- matlab中ifelse能嵌套吗,MATLAB嵌套if-else语句
- Java8 实战系列-01-序章
- 金融数据安全分类分级解决方案
- 已解决,Nik报错an error occurred while extracting
- 看看最新的考试 c语言 noip模拟 纯llq原创作品
- ensp上静态路由与浮动路由设置及相应实验操作,超级简单详细
- Python数模笔记-NetworkX(5)关键路径法
- 什么是储蓄池抽样(Reservoir Sampling)算法?
- 囊括3大MCU+DSP开发工程
- 自然语言处理从零到入门 自然语言理解NLU
- dad my_英文绘本 || My Dad!《我爸爸》
- 【ARM嵌入式】实验报告一 熟悉RealView MDK集成开发环境的使用
热门文章
- 用python爬取网页数据并存入数据库中源代码_Python爬取51cto数据并存入MySQL方法详解...
- 方欣科技算法题面试:蛇形矩阵
- JDK/Java 16 可能带来什么新特性?
- formdata怎么传数组_如何使用formData上传file数组
- 《剑指offer》数组中只出现一次的数字
- freemarker迭代list、map等常规操作
- spark之1:快速入门
- Java Object.hashCode()方法
- 剑指offer 翻转链表
- Redis 热 Key 发现以及解决办法