543. 二叉树的直径 Posted on 2022-06-26 | In leetcode Words count in article: 190 | Reading time ≈ 1 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例1:123456 1 / \ 2 3 / \ 4 5 返回3,它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 提示: 两结点之间的路径长度是以它们之间边的数目表示。 解法解法一:Java1234567891011121314151617181920212223private int result = 0; public int diameterOfBinaryTree(TreeNode root) { travel(root); return result; } private int travel(TreeNode root) { if (Objects.isNull(root)) { return -1; } int left = 0; if (!Objects.isNull(root.left)) { left = travel(root.left) + 1; } int right = 0; if (!Objects.isNull(root.right)) { right = travel(root.right) + 1; } result = Math.max(left + right, result); return Math.max(left, right); }