正则二叉树是指此二叉树中不存在度为1的节点
思路:
1、如果此数是空树,则一定是正则二叉树
2、如果不是空树,则从根节点开始比较其左右子树,如果左右子树相等,则是正则二叉树;
3、递归终止条件是某个节点左右子树都为空或只有一个子树
代码如下
int IsnormalTree(BitTree *bt)
{
if(!bt)
return 1;
if(!bt->lchild&&!bt->rchild)
return 1;
else if(bt->lchild&&bt->rchild)
{
if(IsnormalTree(bt->lchild)&&IsnormalTree(bt->rchild))
return 1;
else
return 0;
}
else
return 0;
}