很简单的解法,直接一个模拟递归下去

二叉树的深度

http://www.nowcoder.com/questionTerminal/435fb86331474282a3499955f0a41e8b

class Solution {
public:

int deep( TreeNode *root ){   //用来统计 以   该节点为根的树  它的深度   的函数

    if( root==NULL )return 0;  //如果该节点已经空了,它的深度就为0

    int left_deep=deep( root->left );   //看看这个节点的左子树的深度

    int right_deep=deep( root->right );  //看看这个节点的右子树的深度

    int value=max( left_deep,right_deep )+1;  //然后比较大小,是左子树深还是右子树深,顺便加1,因为当前这一层也要算进去

    //cout<<value<<endl;
    return value;

}

int TreeDepth(TreeNode* pRoot)
{

    return deep( pRoot );

}

};

全部评论

相关推荐

下周有2个待面,自我介绍就是开始紧张,总容易嘴瓢朋友们有啥面试不紧张的办法吗?
mama3925:boss投小厂,使劲练自我介绍和实习介绍,以及相关的场景题和系统设计。八股可以和豆包练
点赞 评论 收藏
分享
芜湖e:我在这家待过,老板就一rz,能别去就别去,还在用jsp,合同也不主动给你签,上班看一下手机他就要把你叫到办公室说你,公司项目也老,还在用jsp,纯屎山代码,我干了三天就跑路了,工资也没给😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务