Peg*_*asy 3 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);
int rheight = heightOfTree(node->right);
if(lheight>rheight)
{
return lheight;
}
else
{
return rheight;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在网上跟踪了伪代码,所以我自己实现了它,因为我不想只复制粘贴。我试图插入很多节点,但是当我运行程序时,我总是得到0高度吗?谢谢
return lheight + 1;
Run Code Online (Sandbox Code Playgroud)
和
return rheight + 1;
Run Code Online (Sandbox Code Playgroud)
您需要在每个级别上增加高度。