完全二叉树的判断java,判断二叉树是否为完全二叉树的实例
完全二叉树特点
完全二叉树是指除了最后一层之外,其他每一层的结点数都是满的。最后一层如果也满了,是一颗满二叉树,也是完全二叉树。最后一层如果不满,缺少的结点也全部的集中在左边,那也是一颗完全二叉树。
判断一棵二叉树是否为完全二叉树
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,判断二叉树是否为完全二叉树的实例相关推荐
- 判断一棵二叉树是否为完全二叉树-Java
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net package live.every.day.Pro ...
- java 空数组如何判断,java判断数组是否为空
java判断数组是否为空根据数组长度判断,如果为0,则为空,反之不是. (推荐学习:java课程)public class Main { public static void main(String[ ...
- 有苦有乐的算法 --- 判断一颗二叉树是否是完全二叉树、是否是平衡二叉树、是否是搜索二叉树
是否是完全二叉树 完全二叉树:二叉树的每一层要么是满的,要么从左到右处在变满的路上. public static boolean isCBT(Node head) {if (head == null) ...
- 数据结构面试题/判断一棵树是否是完全二叉树
二叉树: 1.满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上. 2.完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完 ...
- c语言完全二叉树原理,C语言判断完全二叉树
满意答案 MiC资讯 2013.04.27 采纳率:45% 等级:12 已帮助:15954人 lz 完成了 #include "stdio.h" #include " ...
- 判断一棵树是否是搜索二叉树 判断一棵树是否是完全二叉树
package class_04;import java.util.LinkedList; import java.util.Queue; /*** * 判断一棵树是否是搜索二叉树* 判断一棵树是否是 ...
- c++编写算法判断二叉树是否为完全二叉树_[校招-算法题] 二叉树基础算法1
二叉树是面试中常考的数据结构,因为涉及大量指针操作,因此可以考察思维的严谨性和灵活性.但是校招中的二叉树题规律性很强,因此需要总结一下. 各种常见的二叉树概念 二叉树:每个结点最多有两个子树(左子树和 ...
- 数据结构与算法之判断一棵树是否为搜索二叉树、判断一棵树是否是完全二叉树
数据结构与算法之判断一棵树是否为搜索二叉树.判断一棵树是否是完全二叉树 目录 判断一棵树是否为搜索二叉树 判断一棵树是否是完全二叉树 1. 判断一棵树是否为搜索二叉树 概念:搜索树就是中序遍历的结果是 ...
- 判断是否是完全二叉树_【数据结构】二叉树高频考试题目【代码模板】!
本文来自公众号程序员小乐(study_tech) 作者:IOExceptioner 编辑:www.jianshu.com/p/0190985635eb 先上二叉树的数据结构: class TreeNo ...
最新文章
- AWS 发布了新的负载均衡器 ALB
- 【随笔】express中间件系统的基本实现
- C++11 initializer_list 和 Range-based for loop 学习理解
- Java初学者的学习思路与建议
- Unity3D两种方式播放视频
- 程序员爱护自己身体的几点建议
- python经典书 豆瓣_入门,,豆瓣高分推荐的Python书籍
- python中字典类型中的item是什么-Python中的字典介绍
- 小公司出身的我,是如何拿下知名独角兽公司 Offer?
- 几何畸变的类型_第七讲 几何纠正(摄影测量与遥感).pdf
- C语言冒泡排序算法及代码
- 例外被抛出且未被接住问题
- 微信小游戏代码热更(转载)
- 基于java的OA系统设计与实现
- halcon例程学习笔记(10)---图像灰度共生矩阵cooc_feature_image.hdev
- 【CV】MobileNet:使用深度可分离卷积实现用于嵌入式设备的 CNN 架构
- 微信内打开链接,跳转到公众号关注页面
- 印度软件,告诉我们什么?(转)
- Software rendering doesn‘t support hardware bitmap in Oreo
- python做花瓣飘落的背景_jquery+css3实现网页背景花瓣随机飘落特效
热门文章
- jquery on()动态绑定元素的的点击事件无反应的问题记录
- 加入域时出现以下错误:找不到网络路径
- iOS9使用提示框的正确实现方式(UIAlertView is deprecated)
- spring mvc 接收表单 bean
- 2016/03/30
- 使用exp导出报错EXP-00091
- ecshop修改后台登陆密码
- 解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V
- RIP-OSPF-EIGRP 相互再发布
- 【免费毕设】成绩查询系统(系统+论文+答辩PPT)