樹的深度求解
遞歸方法求深度
尋找遞歸的條件:
解題思路: (1)如果樹只有一個結點,則樹的深度為1。
(2)如果根結點只有左子樹或者只有右子樹,那么這棵樹的深度是其根結點的左子樹的深度再加1。
(3)如果根結點既有左子樹又有右子樹,那么這棵樹的深度是左子樹深度與右子樹深度的最大值再加1。
int GetTreeDepth(BiTree &T) { if (!T) { return 0; } int left = GetTreeDepth(BiTree T->lchild); int right =GetTreeDepth(BiTree T->rchild); return (left >=right ? left : right) + 1; }