543. 二叉树的直径

Posted 潜行前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了543. 二叉树的直径相关的知识,希望对你有一定的参考价值。

  1. 二叉树的直径

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

示例 :
给定二叉树

      1
     / \\
    2   3
   / \\     
  4   5    

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

class Solution {
    public int diameterOfBinaryTree(TreeNode root) {
        if(root==null)
            return 0;
        int max = deep(root.left,0) + deep(root.right,0);
        return Math.max(Math.max(max,diameterOfBinaryTree(root.left)),diameterOfBinaryTree(root.right));
    }
    private int deep(TreeNode root,int deep){
        if(root == null)
            return deep;
        return Math.max(deep(root.left,deep+1),deep(root.right,deep+1));
    }
}

以上是关于543. 二叉树的直径的主要内容,如果未能解决你的问题,请参考以下文章

543-二叉树的直径

543. 二叉树的直径

力扣543:二叉树的直径C++

LeetCode 543. 二叉树的直径

Leetcode 543.二叉树的直径

python刷LeetCode:543. 二叉树的直径