【发布时间】:2017-07-16 18:11:31
【问题描述】:
我对二叉树和递归非常陌生。我的程序是查找树的高度,但我有点困惑为什么我的程序不起作用。
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 高度?谢谢
【问题讨论】:
-
用一个根节点和一个叶节点构造一棵树,然后手动逐步执行您的代码。
标签: algorithm recursion data-structures