递归思想:如果一颗树只有一个节点,它的深度为1.如果根节点只有左子树没有右子树,那么它的深度为左子树的深度加1,同理,只有右子树没有左子树,它的深度为右子树深度加1,如果既有左子树又有右子树,它的深度为左右子树深度较大的加1。递归很容易实现:
int FindTreeDeep(BinTree BT){
if(BT==NULL)
return 0; int lchilddeep=FindTreeDeep(BT->lchild); int rchilddeep=FindTreeDeep(BT->rchild); return (lchilddeep > rchilddeep)?(lchilddeep + 1) : (rchilddeep + 1); }