LeetCode 958. 二叉树的完全性检验(层序遍历)

1. 题目

给定一个二叉树,确定它是否是一个完全二叉树。

百度百科中对完全二叉树的定义如下:

若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)

示例 1

在这里插入图片描述

输入:[1,2,3,4,5,6]
输出:true
解释:最后一层前的每一层都是满的(即,结点值为 {1}{2,3} 的两层),
且最后一层中的所有结点({4,5,6})都尽可能地向左。
示例 2

在这里插入图片描述

输入:[1,2,3,4,5,null,7]
输出:false
解释:值为 7 的结点没有尽可能靠向左侧。提示:
树中将会有 1100 个结点。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-completeness-of-a-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 层序遍历

  • 利用队列层序遍历,注意对子节点为空的话,也把它加入队列
  • 当遇见NULL出队时,后面再遇见非空节点出队,则说明不是完全二叉树
class Solution {
public:bool isCompleteTree(TreeNode* root) {bool hasNULL = false;queue<TreeNode*> q;q.push(root);TreeNode *tp;while(!q.empty()){tp = q.front();q.pop();if(hasNULL && tp != NULL)//有NULL出队了,且现在出队的非空return false;if(tp == NULL)hasNULL = true;else{q.push(tp->left);q.push(tp->right);}}return true;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 通过学习中间步骤的监督信号改进多跳知识库问答

笔记整理&#xff1a;陈永锐&#xff0c;东南大学博士论文链接&#xff1a;https://arxiv.org/pdf/2101.03737.pdf概述该论文处理多跳知识库问答&#xff08;KBQA&#xff09;任务&#xff0c;主要关注训练过程在中间步骤缺乏监督信号的挑战。由于这一挑战&#xff0c;多跳 KBQ…

打破情感分类准确率 80 分天花板!更加充分的知识图谱结合范式

文 | SeverusNLP的研究者们一直都在尝试&#xff0c;怎么样让模型像人类一样&#xff0c;学会“知识”。而最直观的想法莫过于将人类已经总结出来供机器解读的“知识体系”&#xff0c;及其嵌入表示作为额外的特征添加到NLP模型之中。至少&#xff0c;从直觉上看&#xff0c;将…

分布式块存储系统Ursa的设计与实现

引言 云硬盘对IaaS云计算平台有至关重要的作用&#xff0c;几乎已成为必备组件&#xff0c;如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性&#xff0c;如更高的数据可靠性和可用性、灵活的数据快照功能、更…

sql日期转【pd读取csv文件踩坑】读取csv文件时报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0

【pd读取csv文件踩坑】读取csv文件时报错&#xff1a;UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb5 in position 0 select trunc(2020-08-10 10:43:32 ,yyyy-MM-dd hh24:mi:ss )1.当前时间 select CURRENT_TIMESTAMP 2020-08-10 10:41:22.94347308 select C…

LeetCode 919. 完全二叉树插入器(层序遍历队列)

1. 题目 完全二叉树是每一层&#xff08;除最后一层外&#xff09;都是完全填充&#xff08;即&#xff0c;结点数达到最大&#xff09;的&#xff0c;并且所有的结点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter&#xff0c;它支持以下几种操作…

开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)

OpenKG地址&#xff1a;http://openkg.cn/dataset/rcwi-dataset开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;北京语言大学&#xff08;阙孟溪、张宇飞、于东&#xff09;1. 摘要中文领域的词汇复杂度评估资源较为匮乏&#x…

提升 NLP 实战技能的一点建议

作为最典型的 AI 领域之一&#xff0c;NLP 这些年也是越来越热门&#xff0c;基本上是各大厂必备了。随着 OpenAI 等技术的诞生、迁移学习等技术的成功应用&#xff0c;使得 NLP 技术在搜索、推荐、信息流、互联网金融、社交网络等领域不断发展壮大。与此同时&#xff0c;NLP 工…

深入FFM原理与实践

FM和FFM模型是最近几年提出的模型&#xff0c;凭借其在数据量比较大并且特征稀疏的情况下&#xff0c;仍然能够得到优秀的性能和效果的特性&#xff0c;屡次在各大公司举办的CTR预估比赛中获得不错的战绩。美团技术团队在搭建DSP的过程中&#xff0c;探索并使用了FM和FFM模型进…

Python调用Gurobi求解简单线性规划问题

原文链接&#xff1a;https://blog.csdn.net/weixin_38442390/article/details/121793199

LeetCode 993. 二叉树的堂兄弟节点(层序遍历)

文章目录1. 题目2. 解题2.1 层序遍历2.2 递归查找1. 题目 在二叉树中&#xff0c;根节点位于深度 0 处&#xff0c;每个深度为 k 的节点的子节点位于深度 k1 处。 如果二叉树的两个节点深度相同&#xff0c;但父节点不同&#xff0c;则它们是一对堂兄弟节点。 我们给出了具有…

论文浅尝 | IRW:基于知识图谱和关系推理的视觉叙事框架

笔记整理&#xff1a;孙悦&#xff0c;天津大学 链接&#xff1a;https://www.aaai.org/AAAI21Papers/AAAI-3382.XuC.pdf动机视觉叙事是生成一个短篇故事来描述有序图像流的任务。与视觉字幕不同&#xff0c;故事不仅包含事实描述&#xff0c;还包含未出现在图像中的想象概念。…

薅羊毛 Colab使用外部数据的7种方法!

文 | Coggle源 | Coggle数据科学Colab作为非常强大且优惠的计算平台&#xff0c;一直广受大家喜爱。可以随时随地使用&#xff0c;还有免费的GPU可以薅羊毛。那么如何在Colab中使用外部数据集&#xff0c;来完成竞赛呢&#xff0c;本文将给出几种常见的方法。方法1&#xff1a;…

sql 将整数型 numeric数据转换成date

将整数型的20180909时间转换成日期 select cast(to_char(A,99999999) as date) as yy from 表名 limit 100

高可用性系统在大众点评的实践与经验

背景 所谓高可用性指的是系统如何保证比较高的服务可用率&#xff0c;在出现故障时如何应对&#xff0c;包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易系统的演进为主来描述如何做到高可用&#xff0c;并结合了一些自己的经验。需要强调的是&#xff0c…

图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!

文 | ZenMoore编 | 小轶图灵奖大佬 Geoffrey Hinton 的团队和 Google Brain 团队近日发布新工作 Pix2seq&#xff0c;将 CV 经典任务 目标检测 转换为了语言模型的下游任务。这就很有意思了朋友们&#xff01;因为这是一个很一般化的范式&#xff01;也就是说&#xff0c;不光是…

论文浅尝 | 异构图 Transformer

笔记整理&#xff1a;许泽众&#xff0c;浙江大学博士在读论文链接&#xff1a;https://arxiv.org/abs/2003.01332本文主要提出一种处理异构图的方法&#xff0c;所谓异构图&#xff08;Heterogeneous graph&#xff09;是指在一个图中会出现不同类型的边和节点的图。早期对于图…

LeetCode 1145. 二叉树着色游戏(计算节点个数)

1. 题目 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中&#xff0c;给出二叉树的根节点 root&#xff0c;树上总共有 n 个节点&#xff0c;且 n 为奇数&#xff0c;其中每个节点上的值从 1 到 n 各不相同。 游戏从「一号」玩家开始&#xff08;「一号」玩家为红色&a…

常见的时间序列预测模型python实战汇总

最完整的时间序列分析和预测&#xff08;含实例及代码&#xff09;&#xff1a;https://mp.weixin.qq.com/s/D7v7tfSGnoAqJNvfqGpTQA 1 时间序列与时间序列分析 在生产和科学研究中&#xff0c;对某一个或者一组变量 x(t)x(t) ARIMA 模型对时间序列的要求是平稳型。因此&#x…

简单复读机LR如何成为推荐系统精排之锋?

文 | 水哥源 | 知乎saying1. 众所周知&#xff0c; 人类&#xff08;划掉&#xff09;推荐的本质是复读机2. 精排之锋&#xff0c;粗排之柔&#xff0c;召回之厚3. 在推荐里谈“过拟合”很容易给我们造成心理上的松懈&#xff0c;导致我们忽略环境&#xff0c;氛围等多种因素的…

从0到1构建美团压测工具

背景 美团内部的RPC服务大多构建在Thrift之上&#xff0c;在日常开发服务的过程中&#xff0c;需要针对这些服务进行压力测试&#xff08;以下简称压测&#xff09;来发现潜在问题。常用的方法有&#xff1a; 使用一些脚本语言如&#xff1a;Python、Ruby等&#xff0c;读取线上…