543. 二叉树的直径

260 阅读1分钟

public class Num543二叉树的直径 {
    private int ans = 0;
    public int diameterOfBinaryTree(TreeNode root) {
        dfs(root);
        return ans;
    }
    //直径长度就是该点的左子树深度加右子树深度
    private int dfs(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int left = dfs(root.left);
        int right = dfs(root.right);
        ans = Math.max(left + right, ans);
        //返回子树深度
        return Math.max(left, right) + 1;
    }
}