首页 > 其他分享 >判断是否是完全二叉树

判断是否是完全二叉树

时间:2022-12-06 19:36:08浏览次数:58  
标签:lChild 判断 是否是 else flag 二叉树 push rChild


 对于一棵二叉树,判断是否是一棵完全二叉树。

typedef struct Node
{
int key;
Node* lChild;
Node* rChild;
}* PNode;

bool is(PNode & p)
{
bool flag = false;
queue<PNode> q;
q.push(p);

while (!q.empty())
{
PNode t = q.front();
q.pop();

if (flag)
{
if (p->lChild || p->rChild)
return false;
}
else
{
if (p->lChild&&p->rChild)
{
q.push(p->lChild);
q.push(p->rChild);
}
else if (p->rChild)//只有右节点
return false;
else if (p->lChild)//只有左节点
{
q.push(p->lChild);
flag = true;
}
else//没有节点
flag = true;
}
}
return true;
}













标签:lChild,判断,是否是,else,flag,二叉树,push,rChild
From: https://blog.51cto.com/u_11937443/5916553

相关文章

  • 输入一个字符,判断该字符是数字、字母、空格还是其他字符
    #include<stdio.h>intmain(){charch;ch=getchar();if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')printf("ItisanEnglishcharacter\n");elseif(ch>='0'&&......
  • python画箱型图判断异常值
    今天看了本书,做数据集需要判断数据是否存在异常值。好像是用箱型图做的但是我不清楚具体的原理。附上代码:importpandasaspdimportseabornassnsimportmatplotli......
  • 每日算法之二叉树中和为某一值的路径(二)
    JZ34二叉树中和为某一值的路径(二)描述输入一颗二叉树的根节点root和一个整数expectNumber,找出二叉树中结点值的和为expectNumber的所有路径。1.该题路径定义为从树的......
  • 二叉树入门到进阶(下一篇讲红黑树)——c语言刷题合集
    目录二叉树概念二叉树的遍历方式DFS(前序中序后序遍历)144.二叉树的前序遍历递归解法迭代解法94.二叉树的中序遍历145.二叉树的后序遍历层序遍历--队列的作用102.二叉......
  • java最基本的判断与循环大一知识点
    1,if单选择结构 语法: if(布尔型表达式){ //如果为true(对)的表达方式 }2.if双选择结构 语法: if(布尔型表达式){ //如果为true(对)的表达方式 }else{ //为false(否)的......
  • pgsql 判断当前日期是否在两个时间范围
     需求  需求是当前时间根据活动开始时间与结束时间,得出一个状态值,同时并且支持搜索  2解决这里简捷的做法是直接写sql 这里使用casewhen 进行时间判......
  • SQLServer 判断表是否存在
    1、判断数据表是否存在方法一:useyourdb;goifobject_id(N'tablename',N'U')isnotnullprint'存在'elseprint'不存在'例如:usefireweb;goifobject_id(......
  • ChatGPT 编写的 Rust 二叉树
    //定义二叉树节点structNode{  //节点值  value:i32,  //左子树  left:Option<Box<Node>>,  //右子树  right:Option<Box<Node......
  • 怎么判断一个缺陷是前端缺陷还是后端缺陷?
    怎么判断一个缺陷是前端缺陷还是后端缺陷?似乎这个问题看起来应该挺简单的,但是根据我所遇到的问题,有时候遇到的问题看起来是后端缺陷,但其实是前端缺陷。有时候遇到的问题,......
  • JavaScript习题之判断题
    1.JavaScript是Java语言的脚本形式。()2.JavaScript中的方法名不区分大小写。()3.JavaScript语句结束时的分号可以省略。()4.通过外链式引入JavaScript时,可以省略</scr......