二叉树的最小深度

Posted 微up

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的最小深度相关的知识,希望对你有一定的参考价值。

题目

难度级别:简单

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明:叶子节点是指没有子节点的节点。

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:2

示例 2:

输入:root = [2,null,3,null,4,null,5,null,6]
输出:5

解题思路

使用广度优先搜索,通过将每一层得节点添加至队列中,知道算到队列中当前节点left值与right值都为空。

var minDepth = function(root) {
if (root === null) return 0

let num = 1
const queue = []

queue.push(root)

while(queue.length) {
let len = queue.length

for (let i = 0; i < len; i++) {
let currentNode = queue.shift()

if (currentNode.left === null && currentNode.right === null)
return num++
if (currentNode.left)
queue.push(currentNode.left)
if (currentNode.right)
queue.push(currentNode.right)
}
num ++
}

return num
};

题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree


以上是关于二叉树的最小深度的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] #111 二叉树的最小深度

LeetCode Java刷题笔记—111. 二叉树的最小深度

java刷题--111 二叉树的最小深度

LeetCode Java刷题笔记— 111. 二叉树的最小深度

LeetCode Java刷题笔记— 111. 二叉树的最小深度

[LC]111题 二叉树的最小深度 (递归)