目录

一、题目内容

二、解题思路

三、代码


一、题目内容

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

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

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

示例:

给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
返回它的最小深度  2.

二、解题思路

1.由于是最小深度,因此需要递归地比较左右子树的深度大小,取小者。

2.若没有子树则深度加0,若只有左子树或右子树或二者都有则深度加“1和子树的深度二者之和”。

三、代码

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = Noneclass Solution(object):def minDepth(self, root):""":type root: TreeNode:rtype: int"""def iter_depth(root):if root is None:return 0if root.left is None and root.right is not None:return 1 + iter_depth(root.right)if root.left is not None and root.right is None:return 1 + iter_depth(root.left)return 1 + min(iter_depth(root.left), iter_depth(root.right))return iter_depth(root)

leetcode_111. 二叉树的最小深度 python相关推荐

  1. 二叉树的最小深度Python解法

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 例: 输入:root = [3,9,20,null,null,15,7 ...

  2. LeetCode_111.二叉树的最小深度

    题解C /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* st ...

  3. python创建树结构、求深度_Python实现二叉树的最小深度的两种方法

    找到给定二叉树的最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 注意:叶子节点没有子树 Example: Given binary tree [3,9,20,null,null,15 ...

  4. 【每日一算法】二叉树的最小深度

    每日一算法-二叉树的最小深度 题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,2 ...

  5. 二叉树-二叉树的最小深度(递归法)

    题意: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 思路: 这里使用递归的方法,找二叉树的最小深度 1.先判断根节点是否为空,是返回0: 2.调用函数遍 ...

  6. 《剑指offer》求二叉树的最小深度(非递归法)

    题目:求二叉树的最小深度(实际上该题来自leetcode) 解析:递归法简单些,下面演示下非递归.无外乎层次遍历二叉树了,思想是用current记录当前层的节点数,next记录下一层的节点数,用队列保 ...

  7. c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数

    二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...

  8. 数据结构——二叉树的最小深度算法

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 输入:root = [3,9,20,null,null,15,7] 输 ...

  9. 111. 二叉树的最小深度 golang

    111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...

最新文章

  1. Java集合:ConcurrentHashMap(JDK 1.7 JDK 1.8)
  2. 有关于java的final修饰符
  3. esp8266 php 接口,ESP8266_SDK基础(5)智能插座_完整项目代码
  4. 有趣,机器人吵架视频!
  5. 面试官:实现一个带值变更通知能力的Dictionary
  6. 他让全世界凶手睡不着觉,现实版福尔摩斯,退休了4次又被拽回来工作,无敌实在是太寂寞了~...
  7. P6348 [PA2011]Journeys 线段树优化建图 区间连区间
  8. 【转】C#中StreamWriter与BinaryWriter的区别兼谈编码。
  9. 上拉加载 php,jquery上拉加载代码及原理
  10. 袁玉玮:简介人工智能在基金界的应用现状(四)
  11. 基于POC的不可能三角解决方案:深度解析存储公链Subspace Network
  12. U盘中毒变成exe快捷键文件不见问题
  13. 汇编语言里 eax ebx ecx edx esi edi ebp esp这些都是什么意思啊
  14. 树莓派——摄像头配置与操作
  15. JavaScript:一个非常有趣的猜数小游戏
  16. 斐讯路由器设置linux,斐讯N1盒子如何做主路由器的详细教程
  17. 《会计学》的会计分录使用逻辑(2020年12月写)
  18. 车用总线 | CAN XL最新技术的CiA官方解答
  19. 镇江教育局外语计算机培训中心,江苏计算机等级考试报名地点
  20. NFT细分赛道分类及代表项目汇总

热门文章

  1. 【samba】Wodows同步Linux文件|搭建共享文件服务器——在windows上映射网络驱动器
  2. java 怎么保证余额_高并发下怎么做余额扣减?
  3. springboot——集成elasticsearch进行搜索并高亮关键词
  4. 【ACWing】1020. 潜水员
  5. TOM企业邮箱教您如何提升邮箱密码安全
  6. set并集和交集宏定义typedef
  7. PDCA循环管理法 抓住质量管理活动的规律(转载)
  8. 游戏开发、游戏发行与游戏代理之间是一种怎样的关系?
  9. 位、比特(bit)、字(word)、字节(byte)、B、KB、MB和GB的释义
  10. 爱情存在吗?白头偕老的爱情存在吗?