-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathminimumDepthofBinaryTree.js
More file actions
27 lines (23 loc) · 976 Bytes
/
minimumDepthofBinaryTree.js
File metadata and controls
27 lines (23 loc) · 976 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//////////////////////////////////////////////Minimum Depth of Binary Tree/////////////////////////////////////////////////
// Given a binary tree, find its minimum depth.
// The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
// Note: A leaf is a node with no children.
// Example 1:
//
// Input: root = [3,9,20,null,null,15,7]
// Output: 2
// Example 2:
//
// Input: root = [2,null,3,null,4,null,5,null,6]
// Output: 5
const minDepth = function(root) {
if (root == null) return 0;
if (root.left == null && root.right == null) return 1;
let leftD = minDepth(root.left);
let rightD = minDepth(root.right);
if (root.left == null && root.right != null) return rightD + 1;
if (root.right == null && root.left != null) return leftD + 1;
return Math.min(leftD, rightD) + 1;
};
// console.log(minDepth([3,9,20,null,null,15,7]));
// console.log(minDepth([2,null,3,null,4,null,5,null,6]));