广告推广系统,优化网站及商品排名怎么做,设计上海展会2022,网站如何做seo排名给定一棵二叉树#xff0c;你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。
示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]…给定一棵二叉树你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。
示例 : 给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
注意两结点之间的路径长度是以它们之间边的数目表示。
思路helper一路求着最大深度然后更新最大答案也就是左右深度1本身
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/
class Solution {int ans1;public int diameterOfBinaryTree(TreeNode root) {helper(root);return ans-1;}public int helper(TreeNode root) {if(rootnull)return 0;int lefthelper(root.left);int righthelper(root.right);ansMath.max(ans,leftright1);return Math.max(left,right)1;}
}