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

在一个 完全二叉树 中,除了最后一个关卡外,所有关卡都是完全被填满的,并且最后一个关卡中的所有节点都是尽可能靠左的。它可以包含 1 到 2h 节点之间的最后一级 h 。

示例 1:

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

输入:root = [1,2,3,4,5,null,7]
输出:false
解释:值为 7 的结点没有尽可能靠向左侧。

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

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isCompleteTree(TreeNode root) {if(root == null){return true;}Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);TreeNode cur = queue.poll();while(cur != null){queue.offer(cur.left);queue.offer(cur.right);cur = queue.poll();}while(!queue.isEmpty()){if(queue.poll() != null){return false;}}return true;}
}

Java二叉树的完全性检验相关推荐

  1. leetcode 958.二叉树的完全性检验 Java

    二叉树的完全性检验 题目链接 描述 示例 初始代码模板 代码 题目链接 https://leetcode-cn.com/problems/check-completeness-of-a-binary- ...

  2. 2021- 10 -9 LeetCode 958. 二叉树的完全性检验(待补完)

    二叉树的完全性检验 给定一个二叉树,确定它是否是一个完全二叉树. 若设二叉树的深度为 h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就 ...

  3. 958. 二叉树的完全性检验 golang

    958. 二叉树的完全性检验 给定一个二叉树,确定它是否是一个完全二叉树. 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数 ...

  4. 【LeetCode笔记】958. 二叉树的完全性检验(Java、二叉树、BFS)

    文章目录 题目描述 思路 && 代码 层级遍历法 BFS 二刷 题目描述 考察对完全二叉树性质的理解 思路 && 代码 层级遍历法 一开始试了自底向上的DFS,过了90 ...

  5. 958. 二叉树的完全性检验

    给定一个二叉树,确定它是否是一个完全二叉树. 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集 ...

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

    1. 题目 给定一个二叉树,确定它是否是一个完全二叉树. 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数,第 h 层所有的 ...

  7. Java二叉树(递归实现)

    Java二叉树 1.二叉树的创建. 2.二叉树的先序,中序,后序,层序遍历. 3.求二叉树的节点个数. 4.求二叉树的高度. 5.打印二叉树第K层元素. 6.求其第K层元素个数. 1.二叉树的创建 p ...

  8. Java 二叉树基础概念(递归迭代)

    目录 1. 树型结构 1.1概念 1.2 概念(重要) 2. 二叉树(重点) 2.1 概念 2.2 二叉树的基本形态 2.3 两种特殊的二叉树 2.4 二叉树的性质 a.满二叉树 b.完全二叉树 2. ...

  9. Java 二叉树后序遍历(递归/非递归)

    Java 二叉树后序遍历(递归/非递归) 简介: 遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次. 设L.D.R分 ...

  10. java 二叉树的实现以及前序、中序、后续遍历实现

    目录 前言 完全二叉树 完全二叉树实现代码 测试 输出 前言 二叉树是n个有限元素的集合,该集合或者为空.或者由一个称为根(root)的元素及两个不相交的.被分别称为左子树和右子树的二叉树组成,是有序 ...

最新文章

  1. c语言中int和指针和字符所占字节
  2. 基础练习 十进制转十六进制
  3. PHP artisan auth,Php artisan make:auth命令未定义
  4. Spring Cloud Config Server简介
  5. Google Guava v07范例
  6. K12计算机科学标准,计算机科学新主张(K12基础教育) 翻译.pptx
  7. MySQL 创建用户
  8. MySQL基础——DML语言学习\插入数据\删除数据\更新数据
  9. C#操作Word(转)0
  10. 如何判断过拟合和欠拟合
  11. FinCEN就非托管加密钱包报告规则征集意见时间将截至今日12时59分
  12. http 二进制_百度云加速科普小课堂-HTTP/2解析
  13. php ext_skel,用ext_skel为php开发扩展|待更
  14. 编译原理-第一章:引论
  15. 不使用imrotate实现图像旋转(点操作实现)
  16. Win10提示对电脑进行保护已阻止此应用无法打开
  17. 敏捷开发?敏捷管理?什么是敏捷?(一)
  18. 贪心入门+10道例题+解析代码
  19. 【老九学堂】【C++】编码命名规范
  20. 针对springboot+gradle+querydsl中生成的Q类无法被识别报红的问题解决

热门文章

  1. 按键精灵不成熟的大漠游戏自动加血保护代码 大漠字库使用案例
  2. hadoop、spark、hive、solr、es与YDB在车辆即席分析上的对比分析
  3. 斐讯N1刷无线打印服务器,斐讯N1刷armbian制作cups打印服务器支持airprint不使用foo2zjs|hp1020...
  4. QTTabBar——Windows多功能标签软件
  5. wireshark+rtmp协议分析
  6. ADAPT-PT v8.0(房屋与停车场结构里的梁、板、楼板系统之先进后拉预力软件)
  7. 超实用的工具、素材、学习网站分享
  8. K3Cloud BOS设计 值更新 字段拼接到文本字段
  9. xampp套件使用php,php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手),xampp安装使用...
  10. CAD如何打印出多页PDF保存在一个PDF内