完全二叉树特点

完全二叉树是指除了最后一层之外,其他每一层的结点数都是满的。最后一层如果也满了,是一颗满二叉树,也是完全二叉树。最后一层如果不满,缺少的结点也全部的集中在左边,那也是一颗完全二叉树。

判断一棵二叉树是否为完全二叉树

import java.util.*;

class TreeNode {

int val = 0;

TreeNode left = null;

TreeNode right = null;

public TreeNode(int val) {

this.val = val;

}

}

public class CheckCompletion {

public boolean checking(TreeNode root) {

Queue queue = new LinkedList();

boolean leaf = false; // 叶子结点

TreeNode left;

TreeNode right;

queue.add(root);

while (!queue.isEmpty()) {

root = queue.poll();

left = root.left;

right = root.right;

if ((leaf&&(left!=null||right!=null)) || (left==null&&right!=null)) {

// 如果之前层遍历的结点没有右孩子,且当前的结点有左或右孩子,直接返回false

// 如果当前结点有右孩子却没有左孩子,直接返回false

return false;

}

if (left != null) {

queue.offer(root.left);

}

if (right != null) {

queue.offer(root.right);

}else {

leaf = false; // 如果当前结点没有右孩子,那么之后层遍历到的结点必须为叶子结点

}

}

return true;

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

完全二叉树的判断java,判断二叉树是否为完全二叉树的实例相关推荐

  1. 判断一棵二叉树是否为完全二叉树-Java

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...

  2. java 空数组如何判断,java判断数组是否为空

    java判断数组是否为空根据数组长度判断,如果为0,则为空,反之不是. (推荐学习:java课程)public class Main { public static void main(String[ ...

  3. 有苦有乐的算法 --- 判断一颗二叉树是否是完全二叉树、是否是平衡二叉树、是否是搜索二叉树

    是否是完全二叉树 完全二叉树:二叉树的每一层要么是满的,要么从左到右处在变满的路上. public static boolean isCBT(Node head) {if (head == null) ...

  4. 数据结构面试题/判断一棵树是否是完全二叉树

    二叉树: 1.满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上. 2.完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完 ...

  5. c语言完全二叉树原理,C语言判断完全二叉树

    满意答案 MiC资讯 2013.04.27 采纳率:45%    等级:12 已帮助:15954人 lz 完成了 #include "stdio.h" #include " ...

  6. 判断一棵树是否是搜索二叉树 判断一棵树是否是完全二叉树

    package class_04;import java.util.LinkedList; import java.util.Queue; /*** * 判断一棵树是否是搜索二叉树* 判断一棵树是否是 ...

  7. c++编写算法判断二叉树是否为完全二叉树_[校招-算法题] 二叉树基础算法1

    二叉树是面试中常考的数据结构,因为涉及大量指针操作,因此可以考察思维的严谨性和灵活性.但是校招中的二叉树题规律性很强,因此需要总结一下. 各种常见的二叉树概念 二叉树:每个结点最多有两个子树(左子树和 ...

  8. 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树

    数据结构与算法之判断一棵树是否为搜索二叉树.判断一棵树是否是完全二叉树 目录 判断一棵树是否为搜索二叉树 判断一棵树是否是完全二叉树 1. 判断一棵树是否为搜索二叉树 概念:搜索树就是中序遍历的结果是 ...

  9. 判断是否是完全二叉树_【数据结构】二叉树高频考试题目【代码模板】!

    本文来自公众号程序员小乐(study_tech) 作者:IOExceptioner 编辑:www.jianshu.com/p/0190985635eb 先上二叉树的数据结构: class TreeNo ...

最新文章

  1. AWS 发布了新的负载均衡器 ALB
  2. 【随笔】express中间件系统的基本实现
  3. C++11 initializer_list 和 Range-based for loop 学习理解
  4. Java初学者的学习思路与建议
  5. Unity3D两种方式播放视频
  6. 程序员爱护自己身体的几点建议
  7. python经典书 豆瓣_入门,,豆瓣高分推荐的Python书籍
  8. python中字典类型中的item是什么-Python中的字典介绍
  9. 小公司出身的我,是如何拿下知名独角兽公司 Offer?
  10. 几何畸变的类型_第七讲 几何纠正(摄影测量与遥感).pdf
  11. C语言冒泡排序算法及代码
  12. 例外被抛出且未被接住问题
  13. 微信小游戏代码热更(转载)
  14. 基于java的OA系统设计与实现
  15. halcon例程学习笔记(10)---图像灰度共生矩阵cooc_feature_image.hdev
  16. 【CV】MobileNet:使用深度可分离卷积实现用于嵌入式设备的 CNN 架构
  17. 微信内打开链接,跳转到公众号关注页面
  18. 印度软件,告诉我们什么?(转)
  19. Software rendering doesn‘t support hardware bitmap in Oreo
  20. python做花瓣飘落的背景_jquery+css3实现网页背景花瓣随机飘落特效

热门文章

  1. jquery on()动态绑定元素的的点击事件无反应的问题记录
  2. 加入域时出现以下错误:找不到网络路径
  3. iOS9使用提示框的正确实现方式(UIAlertView is deprecated)
  4. spring mvc 接收表单 bean
  5. 2016/03/30
  6. 使用exp导出报错EXP-00091
  7. ecshop修改后台登陆密码
  8. 解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V
  9. RIP-OSPF-EIGRP 相互再发布
  10. 【免费毕设】成绩查询系统(系统+论文+答辩PPT)