104. 二叉樹的最大深度(JavaScript)
阿新 • • 發佈:2019-01-01
給定一個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:
給定二叉樹 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
思路:
採用遞迴,如果當前節點為空,返回0,如果不為空,返回 1 + 左右子節點的最大深度。
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number} */ var maxDepth = function(root) { if (root === null) { return 0; } else { var leftDepth = maxDepth(root.left), rightDepth = maxDepth(root.right); var childDepth = leftDepth > rightDepth ? leftDepth : rightDepth; return 1 + childDepth; } };