js找到二叉树 最小深度
时间: 2023-09-05 22:12:10 浏览: 166
求二叉树的深度
4星 · 用户满意度95%
要找到二叉树的最小深度,可以使用深度优先搜索(DFS)来遍历二叉树,记录每个叶子节点的深度,然后返回最小深度。
以下是使用 JavaScript 实现的示例代码:
```javascript
function minDepth(root) {
if (!root) {
return 0;
}
// 使用递归进行深度优先搜索
function dfs(node, depth) {
if (!node.left && !node.right) {
// 叶子节点,返回当前深度
return depth;
}
let leftDepth = node.left ? dfs(node.left, depth + 1) : Infinity;
let rightDepth = node.right ? dfs(node.right, depth + 1) : Infinity;
return Math.min(leftDepth, rightDepth);
}
return dfs(root, 1);
}
```
注意,上述代码假设二叉树的节点类包含 `left` 和 `right` 属性,分别指向左右子节点。调用 `minDepth` 函数,并传入根节点,即可得到二叉树的最小深度。
阅读全文