Algorithm 找到树的深度?

Algorithm 找到树的深度?,algorithm,recursion,data-structures,Algorithm,Recursion,Data Structures,我对二叉树和递归非常陌生。我的程序是找到树的高度,但我有点困惑,为什么我的程序不能工作 struct Node { int value; Node *left; Node *right; } int heightOfTree(Node node){ if(node ==NULL) { return 0; } else { int lheight=heightOfTree(node->left)

我对二叉树和递归非常陌生。我的程序是找到树的高度,但我有点困惑,为什么我的程序不能工作

struct Node {
    int value;
    Node *left;
    Node *right;
}

int heightOfTree(Node node){
    if(node ==NULL)
    {
         return 0;
    }
    else
    {
       int lheight=heightOfTree(node->left);
       int rheight = heightOfTree(node->right);
       if(lheight>rheight)
       {
           return lheight;
       }
       else
       {
           return rheight;
       }
    }
}
我在线跟踪了一个伪代码,所以我自己实现了它,因为我不想只是复制和粘贴。我试图插入很多节点,但当我运行程序时,我总是得到0高度?多谢各位

return lheight + 1;


您需要在每个级别增加高度。

构建一个包含根节点和一个叶节点的树,并手动遍历代码。
return rheight + 1;