-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminDepth.js
34 lines (26 loc) · 866 Bytes
/
minDepth.js
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
28
29
30
31
32
33
34
function TreeNode(val, left, right) {
this.val = (val===undefined ? 0 : val)
this.left = (left===undefined ? null : left)
this.right = (right===undefined ? null : right)
}
var minDepth = function(root) {
if (root===null) return 0;
let min = Infinity;
function getHeight(node, height = 0) {
height++;
if (node.left === null && node.right === null) {
min = Math.min(min, height);
return
}
if (node.left !== null) getHeight(node.left, height);
if (node.right !== null) getHeight(node.right, height);
}
getHeight(root);
return min;
};
let tree = new TreeNode(2);
tree.right = new TreeNode(3);
tree.right.right = new TreeNode(4);
tree.right.right.right = new TreeNode(5);
tree.right.right.right.right = new TreeNode(6);
console.log(minDepth(tree))