C数据结构-求二叉树的高度
程序员文章站
2022-03-23 09:19:42
...
求高度的思想
用递归的思想去求二叉树的高度,什么是递归呢?有人说要理解递归就是要理解递归,这句话大家听着很懵比,是因为它的思想和我们正常人的思想不一样,它是调用它本身。求二叉树的高度其实可以比较左右子树的高度,取最高的高度+1=整根树的高度。
C语言代码
int getHeight(BiTree *p){
int l,r,max;
if(*p!=NULL){
l=getHeight(&(*p)->lchild);
r=getHeight(&(*p)->rchild);
max=l>r?l:r;
//这个是三目表达式,大家搜一下就知道了,
//这里问号前面就等于是if语句,
//然后冒号前就是true的语句,冒号后就是false的语句。
return max+1;
}else{
return 0;
}
}