C语言数据结构算法,实现统计二叉树中度为1的结点个数,空怎么填啊? 5
2个回答
展开全部
int D1(BinTree *t)
{
if(t ==NULL) return 0;
if(t->leftChild!=NULL &&t->rightChild == NULL || t->leftChild == NULL && t->rightChild !=NULL) return 1;
return D1(t->leftChild)+ D1(t->rightChild);
}
第一空:return 1;
第二空:return D1(t->leftChild)+ D1(t->rightChild);
正确的算法在下面:不过看题目的要求好像要那么填空
int D1(BinTree *t)
{
if(t ==NULL) return 0;
if(t->leftChild!=NULL &&t->rightChild == NULL)
{
return D1(t->leftChild) + 1;
}
if(t->leftChild == NULL && t->rightChild !=NULL){
{
return D1(t->rightChild) + 1;
}
return D1(t->leftChild) + D1(t->rightChild);
}
合并到一起估计只有这样了
return D1(t->leftChild != NULL ? t->leftChild : t->rightChild) + 1;
引用zsq0325的回答:
int D1(BinTree *t){ if(t ==NULL) return 0; if(t->leftChild!=NULL &&t->rightChild == NULL || t->leftChild == NULL && t->rightChild !=NULL) return 1; return D1(t->leftChild)+ D1(t->rightChild);}第一空:return 1;
第二空:return D1(t->leftChild)+ D1(t->rightChild);
正确的算法在下面:不过看题目的要求好像要那么填空
int D1(BinTree *t){ if(t ==NULL) return 0; if(t->leftChild!=NULL &&t->rightChild == NULL) { return D1(t->leftChild) + 1; } if(t->leftChild == NULL && t->rightChild !=NULL){ { return D1(t->rightChild) + 1; } return D1(t->leftChild) + D1(t->rightChild);} 合并到一起估计只有这样了
return D1(t->leftChild != NULL ? t->leftChild : t->rightChild) + 1;
int D1(BinTree *t){ if(t ==NULL) return 0; if(t->leftChild!=NULL &&t->rightChild == NULL || t->leftChild == NULL && t->rightChild !=NULL) return 1; return D1(t->leftChild)+ D1(t->rightChild);}第一空:return 1;
第二空:return D1(t->leftChild)+ D1(t->rightChild);
正确的算法在下面:不过看题目的要求好像要那么填空
int D1(BinTree *t){ if(t ==NULL) return 0; if(t->leftChild!=NULL &&t->rightChild == NULL) { return D1(t->leftChild) + 1; } if(t->leftChild == NULL && t->rightChild !=NULL){ { return D1(t->rightChild) + 1; } return D1(t->leftChild) + D1(t->rightChild);} 合并到一起估计只有这样了
return D1(t->leftChild != NULL ? t->leftChild : t->rightChild) + 1;
展开全部
试一下abc#d#####
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询