【leetcode】543. 二叉树的直径

63 阅读1分钟

leetcode-543.png

说这一题,就先要说下二叉树的最大深度这一题,这里就用到这这个思想,分别计算当前节点的最优子树的最大深度,然后返回最大深度即可。

var diameterOfBinaryTree = function (root) {
    let maxDepth = 0
    var depth = function (node) {
        if (!node) return 0
        let left = depth(node.left)
        let right = depth(node.right)
        // 保存当前节点的最大深度
        maxDepth = Math.max(left + right, maxDepth)
        // 计算当前节点的最大深度
        return Math.max(left, right) + 1
    }
    depth(root)
    return maxDepth
};