二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。相关的知识,希望对你有一定的参考价值。
前言:
二叉树刷题是有固定思维的,请移步
二叉树最大深度
题目
点击跳转: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;
}
};
以上是关于二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。的主要内容,如果未能解决你的问题,请参考以下文章