leetcode之二叉树的层序遍历
1、题目描述
2、题目分析
二叉树的层序遍历主要算法思想是使用 队列这一数据结构实现,这个数据结构多应用在和 图相关的算法。例如图的广度优先遍历就可以使用队列的方法实现。本题的关键在于如何识别出一层已经打印完毕。解决思路是在每一层结束时加入一个特殊字符如NULL.
访问到 NULL 时 就知道一层访问完毕,接下来的元素是下一层的元素。
3、代码
vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int> > ans;if( root == NULL )return ans ;queue<TreeNode* > q;q.push(root);q.push(NULL);vector<int> level;while( !q.empty() ){TreeNode* p = q.front();q.pop();if(p == NULL){ans.push_back(level);level.resize(0);if(q.size() > 0){q.push(NULL);}}else{level.push_back(p->val);if( p->left != NULL )q.push( p->left );if( p->right != NULL )q.push( p->right ); }}return ans;}
转载于:https://www.cnblogs.com/wangxiaoyong/p/8810485.html
leetcode之二叉树的层序遍历相关推荐
- LeetCode 102二叉树的层序遍历103二叉树锯齿形遍历104二叉树的最大深度
微信搜一搜:bigsai 大家都在关注的刷题.学习数据结构和算法宝藏项目 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 97交错字符串(动态规划) LeetCode 98验证 ...
- leetcode 102.二叉树的层序遍历
难度:中等 频率:150 题目: 给你一个二叉树,请你返回其层序遍历得到的节点值(逐层,从左到右访问所有节点) 做这道题 之前先回忆一下数据结构里的 BFS(Breath First Search,广 ...
- Leetcode 107.二叉树的层序遍历 II (每日一题 20210628 同类型题)
给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \1 ...
- Leetcode 102.二叉树的层序遍历 (每日一题 20210628)
给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点).示例: 二叉树:[3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回其层序遍 ...
- [leetcode]102.二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点). 示例: 二叉树:[3,9,20,null,null,15,7], 3/ \9 20/ \15 7 返回其层 ...
- 【LeetCode】【HOT】102. 二叉树的层序遍历(队列)
[LeetCode][HOT]102. 二叉树的层序遍历 文章目录 [LeetCode][HOT]102. 二叉树的层序遍历 package hot;import java.util.ArrayLis ...
- Leetcode 102. Binary Tree Level Order Traversal(二叉树的层序遍历)
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- LeetCode Algorithm 102. 二叉树的层序遍历
102. 二叉树的层序遍历 Ideas 二叉树的层序遍历类似于图的广度优先搜索,都是要借助队列这种数据结构来实现. 首先将根节点添加到队列中,然后就是套BFS的模板,稍微改动一下. 只要队列不为空就循 ...
- 【LeetCode题解】BFS层序遍历二叉树
102.二叉树的层序遍历 分析: 层序遍历,顾名思义,就是按一层一层的顺序来对二叉树进行遍历,遍历顺序如下图所示 那么如何对二叉树进行遍历呢,我们首先将上面二叉树各层按照遍历次序放在同一直线上 现在我 ...
最新文章
- installshield 2009实现安装包自动编译
- spring jpa @Query中使用in
- SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -
- 人脸识别市场广 离不开政策支持及市场强劲需求
- python3.x安装cv2失败
- GT Transceiver的复位与初始化(3)TX初始化和复位流程
- Qt将应用程序部署到Android设备
- mac 完全卸载mysql
- 【每日一题】4月7日题目精讲 树
- iOS POST 上传图片
- (附源码)springboot超市仓库管理系统 毕业设计164555
- python求n的倍数_求n以下所有数字的总和,这些数字是某些数字的倍数
- PS系列之 -- 用通道抠图
- 铁路cj继电器_铁路信号继电器简介
- Win11双系统引导怎么设置?Win11双系统引导设置方法介绍
- iOS 9 Spotlight搜索 OC版
- 第二十九课: 斯涅尔定律、折射及全反射
- vivado+vscode
- 2022广东深圳国际半导体分立器件产品与应用技术展览会
- PageRank网页排名算法
热门文章
- Python《第一次爬虫遭遇反盗链(上)》
- 2.4 线性相关和张成空间
- ELMo代码详解(一):数据准备
- 【图像处理】libtiff读写三维TIFF图像(附详细代码)
- leetcode - 22. 括号生成
- 2018 A Sparse Topic Model for Extracting Aspect-Specific Summaries from Online Reviews 稀疏主题模型学习笔记
- 【OpenCV图像处理】一、图像相加、相减、相乘与相除的实现【转载】
- Hibernate框架(持久化类、缓存、事务管理)
- 机器学习笔记I: 基于逻辑回归的分类预测
- oracle的备份与恢复