6-8求二叉树高度
题目描述
求给定二叉树的高度
题目地址为:https://pintia.cn/problem-sets/15/problems/731
BinTree结构定义 1
2
3
4
5
6
7typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
ElementType Data;
BinTree Left;
BinTree Right;
};
思考
递归思想
对整棵树而言,就是根和左右子树。那么此时二叉树的高度为左右子树最高的那棵树加1就为整棵树的高度
以此类推(这一步可能会有点难以理解)
怎么说呢?递归到倒数第二阶段不就是一个结点了嘛!然后这个高度为1,怎么得到的呢?
这是通过对于两个空左右子树返回高度为0然后加上自身的1得到的,所有出口就是对空树返回0
具体代码
1 |
|