求二叉树的高度

二叉树高度是二叉树的重要知识点,在日常练习中我们会经常碰见这种类型的题目。求解二叉树的高度可以用递归方式。

递归求解二叉树高度

int GetHeight(BinTree BT){
	int h1;
	int h2;
	if(!BT)
		return 0;
		else{
		h1 = GetHeight(BT->left);
		h2 = GetHeight(BT->right);
		return h1>h2?++h1:++h2;
	}
}

这种方法是递归求解。h1最后得到的是二叉树左支深度最大值,h2是右支深度最大值,最后在递归的最外层进行两支的比较,返回较大值。

其中难点是如何理解递归的深层含义以及相应的逻辑。

你可能感兴趣的:(技巧)