From 6691c5a4da05b7b31d2685590b36eaa2e9521a4b Mon Sep 17 00:00:00 2001 From: bluepetal Date: Thu, 14 May 2015 14:53:03 -0700 Subject: [PATCH] Update 111_minimum_depth_of_binary_tree.js --- leetcode/111_minimum_depth_of_binary_tree.js | 25 ++++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/leetcode/111_minimum_depth_of_binary_tree.js b/leetcode/111_minimum_depth_of_binary_tree.js index 784eed6..21e881d 100644 --- a/leetcode/111_minimum_depth_of_binary_tree.js +++ b/leetcode/111_minimum_depth_of_binary_tree.js @@ -6,17 +6,22 @@ var buildTree = require('./building').buildTree; * @return {number} */ var minDepth = function(root) { - return (function recur(node) { - if (!node) { - return 0; - } else if (node.left && !node.right) { - return recur(node.left) + 1; - } else if (!node.left && node.right) { - return recur(node.right) + 1; - } else { - return Math.min(recur(node.left), recur(node.right)) + 1; + + if (!root) { + return 0; + } + + var lmin = minDepth(root.left); + var rmin = minDepth(root.right); + + if (lmin == 0 && rmin != 0) { + return rmin + 1; + } else if (lmin != 0 && rmin == 0) { + return lmin + 1; + } else { + return Math.min(lmin, rmin) + 1; } - }(root)); + }; var t = buildTree('1,2');