给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3<br /> / \<br /> 9 20<br /> / \<br /> 15 7<br />返回它的最小深度 2.
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree
思路:
dfs一下就好了,遇到叶子节点则更新答案。
复杂度分析:
时间复杂度O(n)
空间复杂度O(n)
var minDepth = function(root) {
let min = Infinity;
if(!root) return 0;
const dfs = (root,dep)=>{
if(!root) return;
if(!root.left && !root.right){
min = Math.min(min,dep);
}
dfs(root.left,dep+1);
dfs(root.right,dep+1)
}
dfs(root,1);
return min;
};