【数据结构】 耻辱*1 如何求二叉树的深度
【思考】求二叉树的深度,可能遇到的情况有
(1)如果一颗树只有一个节点,它的深度是1;
(2)如果根节点只有左子树而没有右子树,那么二叉树的深度应该是其左子树的深度加1;
(3)如果根节点只有右子树而没有左子树,那么二叉树的深度应该是其右树的深度加1;
(4)如果根节点既有左子树又有右子树,那么二叉树的深度应该是其左右子树的深度较大值加1;
程序实现:
int treeDepth(BiTree root){ if(root==NULL){ return 0; } int nLeft=treeDepth(root->lchild); int nRight=treeDepth(root->rchild); return (nLeft>nRight?nLeft+1:nRight+1); }
树如图:
深度确实是 5