二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。相关的知识,希望对你有一定的参考价值。

前言:

二叉树刷题是有固定思维的,请移步

README】二叉树刷题框架

二叉树最大深度

题目

点击跳转:LeetCode

在这里插入图片描述

此题如果从上向下前序遍历进行判断复杂度过高,因为每次判断一个结点都会涉及到很多重复。所以可以按照后序遍历的方式,直接先递归到叶子结点处,然后不断向上返回即可,最终判断左子树大还是右子树大,大的就是整个树的最大深度。需要注意的是每次返回要+1,否则会忽略根节点

class Solution {
public:

    int maxDepth(TreeNode* root) 
    {
        if(root==NULL)
            return 0;
        int left=maxDepth(root->left);
        int right=maxDepth(root->right);
        return left >right ? left+1 : right+1;
    }
};

在这里插入图片描述

以上是关于二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的最大深度

[LeetCode] 104. 二叉树的最大深度

二叉树--二叉树的最大深度

104. 二叉树的最大深度

LeetCode(104):二叉树的最大深度

104. 二叉树的最大深度