美文网首页leetcode
111. 二叉树的最小深度

111. 二叉树的最小深度

作者: 胖胖的熊管家 | 来源:发表于2023-09-04 16:12 被阅读0次

111.二叉树的最小深度

解题思路

用BFS

JavaScript解法代码

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

    let q = []
    q.push(root)
    let depth = 1
    while(q.length > 0){
        let size = q.length
        for(let i=0;i<size;i++){
            let cur = q.shift()
            if(cur.left === null && cur.right === null){
                return depth
            }
            if(cur.left != null){
                q.push(cur.left)
            }
            if(cur.right != null){
                q.push(cur.right)
            }
        }
        
        depth++
    }
    return depth
};

总结:

BFS模板:

function bfs(graph, startNode, targetNode) {
  // 创建一个队列,并将起始节点加入其中
  let queue = [];
  queue.push(startNode);
  
  // 创建一个 set 来存储已访问过的节点
  let visited = new Set();
  visited.add(startNode);
  
  // 当队列非空时,继续搜索
  while (queue.length > 0) {
    // 从队列的前面移除一个节点
    let currentNode = queue.shift();
    
    // 检查是否到达了目标节点
    if (currentNode === targetNode) {
      return true; // 或者做一些其他操作
    }
    
    // 将当前节点的所有未访问过的邻居节点加入队列,并标记为已访问
    let neighbors = graph[currentNode];
    for (let neighbor of neighbors) {
      if (!visited.has(neighbor)) {
        queue.push(neighbor);
        visited.add(neighbor);
      }
    }
  }
  
  // 如果执行到这里,说明没有找到从 startNode 到 targetNode 的路径
  return false;
}

相关文章

  • 111.二叉树的最小深度

    题目#111.二叉树的最小深度 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点...

  • LeetCode 111. 二叉树的最小深度(Minimum D

    111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数...

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

    111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。...

  • 111. 二叉树的最小深度

    111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量...

  • LeetCode 111-115

    111. 二叉树的最小深度[https://leetcode-cn.com/problems/minimum-de...

  • python实现leetcode之111. 二叉树的最小深度

    解题思路 广度优先遍历在节点没有孩子节点的时候就是末梢,这时深度最小的叶子结点,直接返回 111. 二叉树的最小深...

  • BFS 算法解题套路框架

    读完本文,你可以去力扣拿下如下题目: 111.二叉树的最小深度[https://leetcode-cn.com/p...

  • 111. Minimum Depth of Binary Tre

    题目 给定一个二叉树,求二叉树最小深度 解析 一个二叉树的最小深度,就是求左子树最小深度或者右子树最小深度,然后加...

  • 每日Leetcode—算法(11)

    110.平衡二叉树 算法: 111.二叉树的最小树深 算法: 112.路径总和 算法:

  • 二叉树面试题基本问题

    二叉树的最大深度与最小深度 二叉树的最大深度 最大深度是指二叉树根节点到该树叶子节点的最大路径长度。而最小深度自然...

网友评论

    本文标题:111. 二叉树的最小深度

    本文链接:https://www.haomeiwen.com/subject/vkkcvdtx.html