news 2026/6/15 14:04:29

【数组实现双端队列】判断是不是完全二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【数组实现双端队列】判断是不是完全二叉树


求解代码

不是完全二叉树主要就两种情况:

1.有右节点无左节点

2.如果是孩子不全的节点,则接下来必须全是叶子节点,否则就不是完全二叉树,对应设置一个leaf变量。

队列双指针:left=队头(出队),right=队尾(入队)

leaf 变量的含义

是否已经进入【叶子节点阶段】,也可以理解为 后续所有节点都必须是「无孩子的叶子节点」,初始值false表示「还没到这个阶段」。

publicstaticintMAXN=101;publicstaticTreeNode[]queue=newTreeNode[MAXN];publicstaticintleft,right;publicbooleanisCompleteTree(TreeNoderoot){if(root==null){returntrue;}left=right=0;queue[right++]=root;booleanleaf=false;while(left<right){root=queue[left++];if(leaf&&(root.left!=null||root.right!=null)){returnfalse;}if(root.left==null&&root.right!=null){returnfalse;}if(root.left!=null){queue[right++]=root.left;}if(root.right!=null){queue[right++]=root.right;}if(root.left==null||root.right==null){leaf=true;}}returntrue;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 6:33:25

【系统架构师备考笔记】005 信息系统的分类与应用

本笔记基于提供的技术文章大纲编写&#xff0c;旨在帮助学员系统理解信息系统的六种主要类型及其应用。笔记聚焦于核心概念、功能特点和应用场景&#xff0c;便于记忆和复习。内容结构清晰&#xff0c;从基础操作层系统到高层集成系统逐步展开&#xff0c;最后总结比较和未来趋…

作者头像 李华
网站建设 2026/6/15 9:31:32

深度学习毕设项目推荐-基于python深度学习卷积网络训练识别核桃好坏

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/15 10:26:04

Eclipse 视图(View)

Eclipse 视图(View) 引言 Eclipse 是一个功能强大的集成开发环境(IDE),广泛应用于 Java、C/C++、PHP、Python 等多种编程语言。Eclipse 视图(View)是其用户界面的重要组成部分,提供了丰富的功能模块,使得开发者可以更高效地完成软件开发工作。本文将详细介绍 Eclipse …

作者头像 李华
网站建设 2026/6/15 10:23:52

基因过表达细胞系构建与应用全攻略 | 稳定转染技术 | 功能验证方法 | 细胞模型构建 | 蛋白表达优化

基因过表达技术是分子细胞生物学研究中的基础方法之一。通过在细胞中持续高水平表达特定基因&#xff0c;研究者能够系统探究该基因在细胞功能调控中的作用机制。相较于瞬时转染&#xff0c;稳定过表达细胞系具有表达稳定性高、细胞群体均质性好、实验结果可重复性强等技术优势…

作者头像 李华
网站建设 2026/5/30 10:14:07

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统 大家好,我是 Echo_Wish。今天我们聊点严肃又接地气的技术话题: 如何用 Python 构建一个 AI 伦理分析系统? 你可能会问: “AI 伦理不是抽象的价值判断吗?跟代码能搞到一起?” 答案是: 能,而且必须…

作者头像 李华