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

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

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

例:

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

解析:

递归找出左右字数中深度浅的那一个,然后在加一即可。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def minDepth(self, root):""":type root: TreeNode:rtype: int"""if root:  # 判断根节点是否存在if root.left and root.right:  # 左右节点都存在return 1+min(self.minDepth(root.left), self.minDepth(root.right))elif root.left:  # 只有左节点return 1+self.minDepth(root.left)elif root.right:  # 只有右节点return 1+self.minDepth(root.right)else:  # 没有字节点return 1return 0  # 没有根节点

二叉树的最小深度Python解法相关推荐

  1. leetcode_111. 二叉树的最小深度 python

    目录 一.题目内容 二.解题思路 三.代码 一.题目内容 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给 ...

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

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

  3. LeetCode解析------111. 二叉树的最小深度-深度优先搜索

    题目: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [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. Simple Dynamic Strings(SDS)源码解析和使用说明二
  2. 教你修改Linux下高并发socket最大连接数所受的各种限制
  3. C语言主应用程序在哪设置,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...
  4. innodb和myisam的区别
  5. 20145234黄斐《信息安全系统设计基础》第二周学习总结
  6. C# 动态添加SEO 信息,不和静态页面重复和叠加
  7. 【Leetcode | 6】136. 只出现一次的数字
  8. 用自己的ID在appstore中更新app-黑苹果之路
  9. 计算机用户组连接打印机,在组策略中使用脚本为域用户添加网络打印机
  10. vs在release下调试时局部变量值错位修复
  11. 经典面试题:有序矩阵的快速查找
  12. D3D 光照和材料 小样例
  13. python解读器_Python装饰器完全解读
  14. android来电录音软件,通话录音软件来电录音
  15. 开题报告的选题依据怎么写?
  16. DDD(领域驱动设计)概述
  17. 性能测试培训:性能瓶颈分析思路
  18. jzoj5234. 【NOIP2017模拟8.7A组】外星人的路径
  19. EasyExcel工具类(开箱即用)
  20. CSS字体如何设置字体变小,为什么设置不了字体变小?

热门文章

  1. SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型试读版
  2. @ngrx/router-store 在 SAP 电商云 Spartacus UI 开发中的作用
  3. 如何使用 jMeter CSV Data Set config
  4. 关于 TypeScript 内 constructor signature 的一些失败尝试
  5. SAP Spartacus 登录超链接的 slot 并未出现在 page OCC API 响应里
  6. SAP Spartacus Static Multi-Site Configuration
  7. fixture.detectChange如何通过Angular zone执行其异步逻辑的
  8. 如何确认客户使用的Spartacus库文件是未经修改过的原始版本
  9. SAP Spartacus中使用到的Angular ModuleWithProviders类型
  10. Spring 中基于 AOP 的 XML操作方式