39.二叉树的直径

1.题目描述

求二叉树最远的两个节点的长度

2.题解代码

结合二叉树最大深度那一题一起看,可以知道这一题就是多了一句代码,具体见代码,脑子里一定要有basecase的情况,自己动手画一画

cpp 复制代码
class Solution {
    int ans;
public:

    int diameterOfBinaryTree(TreeNode* root) {
        ans = 0;//维护一个整个递归过程中都实时记录最大值的ans
        dfs(root);
        return ans;
    }
    int dfs(TreeNode* root){
        if(root==NULL){
            return 0;
        }
        int left = dfs(root->left);
        int right = dfs(root->right);

        //如果没有以下一句则就表示求二叉树的最大深度,细品,知识多了个参数记录最大的路径罢了
        ans = max(left+right,ans);

        return max(left,right)+1;
    }
};
相关推荐
青梅味猪大肠25 分钟前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
其实防守也摸鱼15 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
Nuanyt16 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
w_zero_one19 小时前
递归算法(一)
java·开发语言·算法
圣保罗的大教堂19 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
文丑颜不良啊20 小时前
LeetCode1881~1990题目解析
java·leetcode
风影同志7832420 小时前
20 个比特能装下多少行情?——实测拆解 Kronos 的 K 线分词器
算法
写的都是BUG21 小时前
APK 里的钥匙,一直就放在门口:聊聊加固真正该做什么
前端·算法
地平线开发者21 小时前
CLIP 的零样本分类:一组文本如何变成图像分类器?
算法