111. Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
题目含义:获得二叉树的最小高度
方法一:dfs
1 private int findMinDepth(TreeNode node) 2 { 3 if (node == null) return 0; 4 if (node.left == null&&node.right==null) return 1; 5 6 if (node.left == null) return findMinDepth(node.right)+1; 7 else if (node.right == null) return findMinDepth(node.left)+1; 8 else return 1+Math.min(findMinDepth(node.left),findMinDepth(node.right)); 9 } 10 11 public int minDepth(TreeNode root) { 12 if (root == null) return 0; 13 return findMinDepth(root); 14 } 15 }
方法二:BFS
1 public int minDepth(TreeNode root) { 2 if (root == null) return 0; 3 Queue<TreeNode> queue = new LinkedList<>(); 4 queue.add(root); 5 int depth = 1; 6 while (!queue.isEmpty()) 7 { 8 int size = queue.size(); 9 for (int i=0;i<size;i++) 10 { 11 TreeNode node = queue.poll(); 12 if (node.left==null && node.right==null) return depth; 13 if (node.left !=null) queue.offer(node.left); 14 if (node.right !=null) queue.offer(node.right); 15 } 16 depth++; 17 } 18 return depth; 19 20 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!