543. 二叉树的直径
Posted 潜行前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了543. 二叉树的直径相关的知识,希望对你有一定的参考价值。
- 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
示例 :
给定二叉树
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. 二叉树的直径的主要内容,如果未能解决你的问题,请参考以下文章