首页 > 编程语言 >【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

时间:2023-08-26 21:11:52浏览次数:39  
标签:12 int dfs maxPath depth 二叉树 节点

二叉树的直径

给你一棵二叉树的根节点,返回该树的 直径

二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root

两节点之间路径的 长度 由它们之间边数表示。

示例 1:

img
输入:root = [1,2,3,4,5]
输出:3
解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

示例 2:

输入:root = [1,2]
输出:1

代码与思路

class Solution {
    int maxPath;
    int dfs(TreeNode* node){
        if(node == nullptr) return 0;//终止条件

        int left_depth = dfs(node->left);//递归求当前节点左右子节点的深度
        int right_depth = dfs(node->right);
        //更新最大直径(路径),如果当前节点的左右子节点深度更大就被选取
        maxPath = max(maxPath, left_depth + right_depth);
        return max(left_depth, right_depth) + 1;//返回深度更大的方向
        //加1是当前层的深度
    }
public:
    int diameterOfBinaryTree(TreeNode* root) {
        maxPath = 0;
        dfs(root);
        return maxPath;
    }
};

标签:12,int,dfs,maxPath,depth,二叉树,节点
From: https://www.cnblogs.com/DAYceng/p/17659458.html

相关文章

  • 剑指 Offer 68 - II. 二叉树的最近公共祖先(简单)
    题目:classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,TreeNode*p,TreeNode*q){if(root==p||root==q||root==nullptr)returnroot;//如果当前节点为空或者当前节点即为其中某个指定节点TreeNode*left=lowestCommo......
  • 剑指 Offer 55 - II. 平衡二叉树(简单)
    题目:classSolution{public:intgetHeight(TreeNode*cur){//递归函数返回的是以当前节点为根节点的高度。if(!cur)return0;//空节点的高度为0intleftHeight=getHeight(cur->left);//取得左节点的高度if(leftHeight=......
  • NC19989 [HAOI2012]容易题(EASY)
    题目链接题目题目描述为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下:有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪些值,我们定义一个数列的积为该数列所有元素的乘积,要求你求出所有可能的数列的积的和mod10000......
  • 【web_逆向12】RSA加密实战
    目标中大网校登录获取数据分析根据接口分析,我们需要对密码逆向,识别验证码加密入口加密逻辑,标准的RSA加密查找ress.data,注意:这里不一定是时间戳,不能简单暴力的使用data.now()代替;根据callstack往回找发现此处的data是ajax请求,成功返回的数据,url就是gettime所以此处......
  • GBU812-ASEMI逆变器专用整流桥GBU812
    编辑:llGBU812-ASEMI逆变器专用整流桥GBU812型号:GBU812品牌:ASEMI芯片个数:4封装:GBU-4恢复时间:>50ns工作温度:-55°C~150°C浪涌电流:200A正向电流:8A反向耐压:1200V正向压降:1.10V引脚数量:4GBU812特性:ASEMI品牌GBU812是采用工艺芯片,该芯片具有良好的稳定性及抗冲击能力,能够持续保证了GBU812......
  • GBU812-ASEMI逆变器专用整流桥GBU812
    编辑:llGBU812-ASEMI逆变器专用整流桥GBU812型号:GBU812品牌:ASEMI芯片个数:4封装:GBU-4恢复时间:>50ns工作温度:-55°C~150°C浪涌电流:200A正向电流:8A反向耐压:1200V正向压降:1.10V引脚数量:4GBU812特性:ASEMI品牌GBU812是采用工艺芯片,该芯片具有良好的稳定性及抗冲击能力,能够......
  • VMware Fusion Debian12虚拟机静态IP设置
    在VMwareFusion中安装了Debian12,设置静态IP后ping不通外部网络:/etc/network/interfaces配置#Thisfiledescribesthenetworkinterfacesavailableonyoursystem#andhowtoactivatethem.Formoreinformation,seeinterfaces(5).source/etc/network/int......
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:281-300)
    第281题OSPF协议对邻居路由器之间交换的所有数据包都具有认证能力,在VRP系统中,OSPF支持以下哪一种算法?A、DESB、MD5C、AESD、RSA答案:B解析:在VRP系统中,OSPF协议支持的认证算法是MD5。第282题以下关于堆叠拓扑连接方式的描述,错误的是哪一项?A、根据堆叠连线方式的不同,堆叠可组成链......
  • [刷题记录Day14]Leetcode二叉树
    No.1题目前序遍历思路递归法代码publicvoidTraverse(TreeNodenode,List<Integer>list){if(node==null)return;list.add(node.val);//中Traverse(node.left,list);//左Traverse(node.right,list);//右}p......
  • [刷题记录Day15]Leetcode二叉树
    No.1题目二叉树的层序遍历思路使用队列关键点:1.每进入一层,层内的节点都被处理完成2.开始遍历层内的节点前,必须先记录该层的节点数量,不能访问到下一层的节点代码publicList<List<Integer>>levelOrder(TreeNoderoot){Queue<TreeNode>queue=newLinkedList......