美文网首页
求二叉树的最大深度和最小深度

求二叉树的最大深度和最小深度

作者: VanessaC | 来源:发表于2017-07-17 11:22 被阅读0次

    最大深度:

    nt maxDepth(TreeNode* root) {

    if(root == NULL)

    return 0;

    int left_length = maxDepth(root->left)+1;

    int right_length = maxDepth(root->right)+1;

    return left_length>right_length?left_length:right_length;

    }

    最小深度:

    int minDepth(TreeNode*root) 

    {

    if(root==nullptr)

    return0;//判断左子树或右子树是否为空//若左子树为空,则返回右子树的深度,反之返回左子树的深度

    if(root->left==nullptr)

    return   minDepth(root->right)+1;

    if(root->right==nullptr)

    return  minDepth(root->left)+1;//如果都不为空,则返回左子树和右子树深度的最小值

    int leftDepth=minDepth(root->left)+1;

    int rightDepth=minDepth(root->right)+1;

    return leftDepth<rightDepth?leftDepth:rightDepth;

    }

    相关文章

      网友评论

          本文标题:求二叉树的最大深度和最小深度

          本文链接:https://www.haomeiwen.com/subject/caefkxtx.html