论坛首页
论坛首页
模板
模板
课程
学院课程
产品手册
产品手册
开发者
开发者中心
回到官网
回到官网
我的课程
伙伴云客服论坛
»
论坛
›
S区
›
S软件开发
›
查看内容
0 评论
0 收藏
分享
判断二叉树是否为完全二叉树的实例
伙伴的伙伴
楼主
发布于 2023-4-19 14:17:08
阅读 956
查看全部
搜更多:
百度
谷歌
360
搜狗
搜搜
有道
必应
即刻
完全二叉树特点
完全二叉树是指除了最后一层之外,其他每一层的结点数都是满的。最后一层假设也满了,是一颗满二叉树,也是完全二叉树。最后一层假设不满,缺少的结点也全部的集中在左边,那也是一颗完全二叉树。
判断一棵二叉树是否为完全二叉树
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<TreeNode> queue = new LinkedList<TreeNode>();
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发送邮箱验证码、session校验功能
全部回复
暂无回帖,快来参与回复吧
返回列表
发新帖
回复
本版积分规则
高级模式
B
Color
Image
Link
Quote
Code
Smilies
发表回复
回帖后跳转到最后一页
伙伴的伙伴
注册会员
主题
27
回复
15
粉丝
0
加好友
发私信
热点排行
1
如何搭建伙伴云系统,看了你就懂
2
重要 | 伙伴云送福利啦!2023年价格体系全
3
使用技巧分享: 巧用伙伴云OpenAPI SDK,提
4
东鹏瓷砖: 跑赢疫情,只因抓住这一点
5
学会不求人哦~ 计算字段新增函数使用技巧
6
用扫一扫自动添加发票信息
标签
PMP
销售
管理
零代码
产品
云表格Pro
项目协作
零代码aPaaS
OKR
产品更新
解决方案
CRM客户关系管理
任务管理
进销存管理
售后管理
项目管理
学习资料
模板中心
伙伴学院
产品手册
客户案例
资料下载
开发者中心
关于我们
公司介绍
最新活动
媒体报道
BBS论坛
进一步了解
价格
全流程定制
企业微信
友情链接
取得联系
咨询专线
400 006 1585
关注服务号
微信交流群
服务协议
隐私政策
Cookie条款
© 2022 伙伴智慧(北京)信息技术有限公司
京公网安备11010802025927号
京ICP备12038259号
增值电信业务经营许可证:京B2-20201325
Created with
Huoban.
|
网站地图
快速回复
返回顶部
返回列表