1. 题目描述
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3/ \9 20/ \15 7
2. 解题思路
设置一个level,表示当前的层数,然后对二叉树进行层序遍历,直到某个节点没有左右子树,结束遍历,返回level。
3. 代码实现
/*** Definition for a binary tree node.* function TreeNode(val) {* this.val = val;* this.left = this.right = null;* }*//*** @param {TreeNode} root* @return {number}*/var minDepth = function(root) {if(!root){return 0;}var level = 0;var queue = [root];while(queue.length){level += 1;var len = queue.length;while(len--){var node = queue.shift();if (!node.left&&!node.right){return level;}if(node.left){queue.push(node.left);}if(node.right){queue.push(node.right);}}}return level;};
4. 提交结果

