输入一棵二叉树的根结点,求该树的深度?
邀请你进入官方【iOS社群】,iOS技术职业交流覆盖 2800+技术牛人,
直接搜索或点击群号:638302184,快速入群,我们期待您的加入!
二叉树的结点定义如下:
struct BinaryTreeNode
{
int m_nValue ;
BinaryTreeNode* m_pLeft;
BinarvTreeNode* m_pRight ;
}
-
如果一棵树只有一个结点,它的深度为1。
-
如果根结点只有左子树而没有右子树,那么树的深度应该是其左子树的深度加1;同样,如果根结点只有右子树而没有左子树,那么树的深度应该是其右子树的深度加1。
-
如果既有右子树又有左子树,那该树的深度就是其左、右子树深度的较大值再加1。
int TreeDepth(TreeNode* pRoot)
{
if(pRoot == nullptr)
return 0;
int left = TreeDepth(pRoot->left);
int right = TreeDepth(pRoot->right);
return (left>right) ? (left+1) : (right+1);
}
.
网友评论