111、二叉树的最小深度 | JS
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明:叶子节点是指没有子节点的节点。
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:2
示例 2:
输入:root = [2,null,3,null,4,null,5,null,6]
输出:5
提示:
- 树中节点数的范围在 [0, 105] 内
- -1000 <= Node.val <= 1000
1 /** 2 * Definition for a binary tree node. 3 * function TreeNode(val, left, right) { 4 * this.val = (val===undefined ? 0 : val) 5 * this.left = (left===undefined ? null : left) 6 * this.right = (right===undefined ? null : right) 7 * } 8 */ 9 /** 10 * @param {TreeNode} root 11 * @return {number} 12 */ 13 var minDepth = function(root) { 14 if(!root) {return 0;} //把根结点传进去 15 const q = [[root,1]]; //队列 16 while(q.length) { //队列不为空的情况下 17 const [n,l] = q.shift(); 18 if(!n.left && !n.right) return l; 19 if(n.left) q.push([n.left,l+1]); 20 if(n.right) q.push([n.right,l+1]); 21 } 22 };
本文作者:oaoa
本文链接:https://www.cnblogs.com/oaoa/p/14843435.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步