首页 > 其他分享 >二叉树的直径

二叉树的直径

时间:2022-10-03 23:45:34浏览次数:54  
标签:node maxDeepth return 二叉树 直径 maxd

二叉树的直径

  • 题目

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

  • 代码

    var diameterOfBinaryTree = function(root) {
        let maxd = 0;
        function maxDeepth(node){
            //遍历到结束条件
            if(!node) return 0;
             let l=maxDeepth(node.left)
             let r=maxDeepth(node.right)
            //维护直径
            maxd=Math.max(l+r,maxd)
            //返回当前节点的最大深度
            return Math.max(l,r)+1
        }
        //从根节点遍历最大深度
        maxDeepth(root)
        //返回直径
        return maxd
    };
    

标签:node,maxDeepth,return,二叉树,直径,maxd
From: https://www.cnblogs.com/user-yi/p/16751583.html

相关文章

  • DataStructure_树的基本性质(m叉树和二叉树)
    文章目录​​基本性质​​​​任意树的通用性质​​​​树的定义​​​​边(分支)​​​​结点数和边数的关系​​​​二叉树结点和边的关系​​​​m叉树的结点数量最多为:......
  • C++----二叉树的进阶
    文章目录​​前言​​​​一、二叉搜索树​​​​2.1二叉搜索树概念​​​​2.2二叉树节点​​​​2.3二叉搜索树操作​​​​1.二叉搜索树的查找​​​​2.二叉搜索树......
  • 15分钟精通二叉树,二叉树的先序,中序,后序,层次遍历顺序
    学习目标:......
  • 前序中序构建二叉树 OFF7
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),......
  • PTA 21级数据结构与算法实验5—树和二叉树
    目录7-1还原二叉树7-2朋友圈7-3修理牧场7-4玩转二叉树7-5根据后序和中序遍历输出先序遍历7-6完全二叉树的层序遍历7-7列出叶结点7-8部落7-9建立与遍历二叉树7-10......
  • 加工大长度、大直径内孔用镗孔工具
    在加工大型圆锥破碎机的锥形铜套(见图1)时遇到了工艺难题:如在W200镗床上加工铜套的锥形内孔,镗杆行程不足(最大行程1600mm),且无法加工锥形孔;如在车床上采用加长刀杆的方法加......
  • 大直径硬质合金铰刀的修复方法
    在镗床等大型机床镗孔,一般需要使用铰刀来控制孔径尺寸,当刀具磨损了以后,可采用图所示的方法,把铰刀修好。图:铰刀的修复法1.刀片2.锥销3.刀体 修复的方法:是在铰刀每个硬质合......
  • leetcode 226. Invert Binary Tree 翻转二叉树(简单)
    一、题目大意给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输......
  • P1040 [NOIP2003 提高组] 加分二叉树
    区间dp好题!在更新\(f[i][j]\)时,顺便记录该子树的根节点\(g[i][j]\)。最后递归求解。#include<bits/stdc++.h>usingnamespacestd;classsolve{ public: int......
  • 二叉树 Leecode总结
    Leecode107:层序遍历,从叶子节点到根节点正常的层序遍历之后,对resList进行反转,调用Collections.reverse(resList);或者每次添加list时,从resList的头部开始添加clas......