二叉树的直径

二叉树的直径

  • 题目

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

  • 代码

    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
    };
    
posted @ 2022-10-03 23:26  衣囧~  阅读(32)  评论(0编辑  收藏  举报