Minimum Depth of Binary Tree
EasyTreeDepth-First SearchBreadth-First SearchBinary Tree
Solution
import { TreeNode } from '@algorithm/lib';
export function minDepth(root: TreeNode | null): number {
if (root === null) {
return 0;
}
const dfs = (node: TreeNode | null, depth: number): number => {
if (node === null) {
return Number.MAX_SAFE_INTEGER;
}
if (node.left === null && node.right === null) {
return depth;
}
return Math.min(dfs(node.left, depth + 1), dfs(node.right, depth + 1));
};
return dfs(root, 1);
}