C++ LeetCode543题解二叉树直径

 更新时间:2022年12月16日 14:55:04   作者:LetMeFly  
这篇文章主要为大家介绍了C++ LeetCode543题解二叉树直径,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

LeetCode 543.二叉树的直径

力扣题目链接:leetcode.cn/problems/di…

给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。

示例 :给定二叉树

返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。

注意:两结点之间的路径长度是以它们之间边的数目表示。

方法一:深度优先搜索求二叉树的深度

我们只需要求出每个节点的左子树的最大深度,以及右子树的最大深度。

AC代码

C++

class Solution {
private:
    int ans;
    int getDeepth(TreeNode* root) {
        if (!root)
            return 0;
        int left = getDeepth(root->left);
        int right = getDeepth(root->right);
        ans = max(ans, left + right);
        return max(left, right) + 1;
    }
public:
    int diameterOfBinaryTree(TreeNode* root) {
        ans = 0;
        getDeepth(root);
        return ans;
    }
};

以上就是C++ LeetCode543题解二叉树直径的详细内容,更多关于C++ 二叉树直径的资料请关注脚本之家其它相关文章!

相关文章

  • C++中形参和实参的区别及说明

    C++中形参和实参的区别及说明

    这篇文章主要介绍了C++中形参和实参的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C++中线性代数计算Eigen库的使用教程详解

    C++中线性代数计算Eigen库的使用教程详解

    Eigen是一个基于线性代数的C++模板库,主要用于矩阵、向量、数值求解和相关算法,本文主要为大家简单聊聊Eigen库的使用,希望对大家有所帮助
    2023-12-12
  • C语言中基础小问题详细介绍

    C语言中基础小问题详细介绍

    这篇文章详细介绍了C语言中基础小问题,有需要的朋友可以参考一下
    2013-10-10
  • C语言结合ffmpeg打印音视频信息

    C语言结合ffmpeg打印音视频信息

    这篇文章主要介绍了如何通过C语言或者C++编程语言结合ffmpeg拿到一些音视频的关键信息,例如:帧率等。感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • C/C++ pthread线程库使用示例详解

    C/C++ pthread线程库使用示例详解

    这篇文章主要介绍了C/C++ pthread线程库使用示例详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • C语言详细实现猜拳游戏流程

    C语言详细实现猜拳游戏流程

    在学习了循环、分支、和函数之后,可以写一些简单的小游戏来给自己的编程之路增添一份乐趣。不仅提升了编码能力,还可以边学边玩,简直妙哉妙哉
    2022-05-05
  • google c++程序测试框架googletest使用教程详解

    google c++程序测试框架googletest使用教程详解

    ​GoogleTest 是 Google 的 C++ 测试和模拟框架,可以帮助程序员测试C++程序的结果预期,这篇文章主要介绍了google c++程序测试框架googletest使用教程,需要的朋友可以参考下
    2021-08-08
  • C语言程序设计50例(经典收藏)

    C语言程序设计50例(经典收藏)

    本篇文章是对C语言程序设计的50个小案例进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C语言超详细讲解线性表

    C语言超详细讲解线性表

    线性表,数据结构中最简单的一种存储结构,专门用于存储逻辑关系为"一对一"的数据。线性表是基于数据在实际物理空间中的存储状态,又可细分为顺序表(顺序存储结构)和链表
    2022-07-07
  • C语言详细讲解strcpy strcat strcmp函数的模拟实现

    C语言详细讲解strcpy strcat strcmp函数的模拟实现

    这篇文章主要介绍了怎样用C语言模拟实现strcpy与strcat和strcmp函数,strcpy()函数是C语言中的一个复制字符串的库函数,strcat()函数的功能是实现字符串的拼接,strcmp()函数作用是比较字符串str1和str2是否相同
    2022-05-05

最新评论