关闭

104. Maximum Depth of Binary Tree

标签: csdnLeetcodeBinary Tree
70人阅读 评论(0) 收藏 举报
分类:

Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

求二叉树的最大深度。

最大深度是根节点到最远叶子节点路径上经过的节点总数。


用前序遍历(DLR)

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
int maxDepth(struct TreeNode* root) {
    unsigned int depth=0;
    return pretrav(root,depth);
}
int pretrav(struct TreeNode* p, unsigned int d)
{
    int l,r;
    if(p!=NULL)                     //递归终止条件
    {
        d++;
        l=pretrav(p->left,d);       //遍历左子树
        r=pretrav(p->right,d);      //遍历右子树
        d=l>=r?l:r;                 //深度为左右子树中的较大值
    }
    return d;
}
提交结果如下:



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:12725次
    • 积分:357
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类