树中,求结点在树的第几层。如何不添加额外参数,修改成正确的代码

树中,求结点在树的第几层。如何不添加额外参数,修改成正确的代码

img


完整代码:

int Level(BTNode* b, char x)//求结点在第几层,从1开始
{
    int t = 0;
    if (b == NULL)
    {
        return 0;
    }
    else if (b->data == x)
    {
        return 1;
    }
    else
    {
        t = Level(b->lchild, x);
        if (t != 0)
        {
            return t;
        }
        else
        {
            t = Level(b->rchild, x);
        }
    }
}

你代码里连+1都没有,不管递归多少次返回的不是0就是1,不相加的吗

if(t>0)
{
return t+1;
}