题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
返回它的最大深度 3 。
题解
var maxDepth = function(root) {
let layer = 0
var dfs = (root) => {
if(root===null){
return 0
}
const left = dfs(root.left)
const right = dfs(root.right)
innerLayer = 1 + Math.max(left,right)
layer = Math.max(layer,innerLayer)
return innerLayer
}
dfs(root)
return layer
};
笔记:
- 利用dfs深入
- 简洁版 直接利用自身的函数就好了
var maxDepth = function(root) {
if(!root) {
return 0;
} else {
const left = maxDepth(root.left);
const right = maxDepth(root.right);
return Math.max(left, right) + 1;
}
};