C语言数据结构算法,实现统计二叉树中度为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;

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-29
试一下abc#d#####
相似回答