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

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

作者: 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;

}

相关文章

  • 111. Minimum Depth of Binary Tre

    题目 给定一个二叉树,求二叉树最小深度 解析 一个二叉树的最小深度,就是求左子树最小深度或者右子树最小深度,然后加...

  • 二叉树面试题基本问题

    二叉树的最大深度与最小深度 二叉树的最大深度 最大深度是指二叉树根节点到该树叶子节点的最大路径长度。而最小深度自然...

  • 二叉树的最大/最小深度

    给定如下二叉树, 分别返回其最大深度4, 最小深度2。 求最大深度 按照广度遍历 跟层级遍历类似,最后返回总数组的...

  • 104. Maximum Depth of Bianry Tre

    题目 求二叉树的最大深度 解析 二叉树的最大深度,是左子树深度加 1 和右子树深度加 1 的最大值。即 f(nod...

  • LeetCode 深度优先遍历

    概述 前言 104 二叉树的最大深度【简单】 111 二叉树的最小深度 【简单】 124 二叉树中的最大路径和 【...

  • 树的深度

    计算一颗二叉树的最大深度和最小深度public int maxDepth(TreeNode root){if(ro...

  • 二叉树高频面试题和答案

    先上二叉树的数据结构: 二叉树的题目普遍可以用递归和迭代的方式来解 1. 求二叉树的最大深度 2. 求二叉树的最小...

  • LeetCode 第543题:找到所有数组中消失的数字

    1、前言 2、思路 一看到这道题,我就想到使用求二叉树的最大深度的思路。求最大深度是,我们先求出左子树的最大深度,...

  • 二叉树的最小深度

    求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。

  • 111. 二叉树的最小深度

    求最大深度比较简单,因为有子树为空,肯定不是最大但求最小深度,为空的值更小,但是却不能当作最小深度,所以只有返回另...

网友评论

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

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