int Degrees1(BitNode *t)
{
if(t==NULL) return 0;
if(t->lchild !=NULL && t->rchild==NULL || t->lchild ==NULL && t->rchild!=NULL)
return 1+Degrees1(t->lchild)+Degress1(t->rchild);
return Degrees1(t->lchild)+Degress1(t->rchild);
}
数据结构
bool hasdegree1(BiTree root){
if(root==NULL)
return false;
if(root->lchild==NULL&&root->rchild==NULL)
return false;
if(root->lchild!=NULL&&root->rchild!=NULL)
return hasdegree1(root->lchild)||hasdegree1(root->rchild);
else return true;
}
不用递归,数一下有多少个叶子节点就可以了
这不需要递归吧 遍历一下就行了