diff --git a/JavaScript/111-minimum-depth-of-binary-tree.js b/JavaScript/111-minimum-depth-of-binary-tree.js
new file mode 100644
index 00000000..244990cd
--- /dev/null
+++ b/JavaScript/111-minimum-depth-of-binary-tree.js
@@ -0,0 +1,56 @@
+/**
+ * Definition for a binary tree node.
+ * function TreeNode(val, left, right) {
+ * this.val = (val===undefined ? 0 : val)
+ * this.left = (left===undefined ? null : left)
+ * this.right = (right===undefined ? null : right)
+ * }
+ */
+/**
+ * @param {TreeNode} root
+ * @return {number}
+ */
+
+// PROBLEM:
+// 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.
+
+ // test cases:
+ // [3,9,20,null,null,15,7] -- output: 2
+// [2,null,3,null,4,null,5,null,6] -- output: 5
+// [0] -- output: 1
+// [] -- output: 0
+
+
+var minDepth = function(root) {
+ if(root) {
+ return traversal(root, 1);
+ } else { return 0 }
+};
+
+// traversal of the tree is recursive to ensure travel down
+// both the right and left children nodes
+var traversal = (root, depth) => {
+ let current = root;
+ let right;
+ let left;
+ if(!current) {
+ return null;
+ // this checks if the current node is a leaf node
+ } if (!current.right && !current.left) {
+ return depth;
+ }
+ right = traversal(current.right, depth+1)
+ left = traversal(current.left, depth+1)
+ if(!right) {
+ return left;
+ } else if(!left) {
+ return right;
+ } else {
+ if(right < left) {
+ return right
+ } else {
+ return left
+ }
+ }
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index f53ccb34..93cbe376 100644
--- a/README.md
+++ b/README.md
@@ -320,8 +320,7 @@ Check out ---> [Sample PR](https://github.com/codedecks-in/LeetCode-Solutions/pu
| 127 | [Word Ladder](https://leetcode.com/problems/word-ladder/) | [Java](./Java/word-ladder.java) | O(N^2 \* M) | O(N \* M) | Medium | BFS |
| 994 | [Rotten Oranges](https://leetcode.com/problems/rotting-oranges/) | [Python](./Python/994_Rotting_Oranges.py) | O(N \* M) | O(N \* M) | Medium | BFS |
| 743 | [Network Delay Time](https://leetcode.com/problems/network-delay-time/) | [C++](./C++/Network-delay-time.cpp) | _O(V+E))_ | O(V) | Medium | BFS |
-
-
+ 111 | [Min Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/) | [JavaScript](./JavaScript/111-minimum-depth-of-binary-tree.js) | O(nlogn) | O(nlogn) | Easy | BFS