二叉树的最小深度Python解法
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明:叶子节点是指没有子节点的节点。
例:
输入: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解法相关推荐
- leetcode_111. 二叉树的最小深度 python
目录 一.题目内容 二.解题思路 三.代码 一.题目内容 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给 ...
- python创建树结构、求深度_Python实现二叉树的最小深度的两种方法
找到给定二叉树的最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 注意:叶子节点没有子树 Example: Given binary tree [3,9,20,null,null,15 ...
- LeetCode解析------111. 二叉树的最小深度-深度优先搜索
题目: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15 ...
- 【每日一算法】二叉树的最小深度
每日一算法-二叉树的最小深度 题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,2 ...
- 二叉树-二叉树的最小深度(递归法)
题意: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 思路: 这里使用递归的方法,找二叉树的最小深度 1.先判断根节点是否为空,是返回0: 2.调用函数遍 ...
- 《剑指offer》求二叉树的最小深度(非递归法)
题目:求二叉树的最小深度(实际上该题来自leetcode) 解析:递归法简单些,下面演示下非递归.无外乎层次遍历二叉树了,思想是用current记录当前层的节点数,next记录下一层的节点数,用队列保 ...
- c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数
二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...
- 数据结构——二叉树的最小深度算法
给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 输入:root = [3,9,20,null,null,15,7] 输 ...
- 111. 二叉树的最小深度 golang
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...
最新文章
- Simple Dynamic Strings(SDS)源码解析和使用说明二
- 教你修改Linux下高并发socket最大连接数所受的各种限制
- C语言主应用程序在哪设置,哪位师傅知道51单片机怎样编写子程序?C语言的。在主程序里调...
- innodb和myisam的区别
- 20145234黄斐《信息安全系统设计基础》第二周学习总结
- C# 动态添加SEO 信息,不和静态页面重复和叠加
- 【Leetcode | 6】136. 只出现一次的数字
- 用自己的ID在appstore中更新app-黑苹果之路
- 计算机用户组连接打印机,在组策略中使用脚本为域用户添加网络打印机
- vs在release下调试时局部变量值错位修复
- 经典面试题:有序矩阵的快速查找
- D3D 光照和材料 小样例
- python解读器_Python装饰器完全解读
- android来电录音软件,通话录音软件来电录音
- 开题报告的选题依据怎么写?
- DDD(领域驱动设计)概述
- 性能测试培训:性能瓶颈分析思路
- jzoj5234. 【NOIP2017模拟8.7A组】外星人的路径
- EasyExcel工具类(开箱即用)
- CSS字体如何设置字体变小,为什么设置不了字体变小?
热门文章
- SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型试读版
- @ngrx/router-store 在 SAP 电商云 Spartacus UI 开发中的作用
- 如何使用 jMeter CSV Data Set config
- 关于 TypeScript 内 constructor signature 的一些失败尝试
- SAP Spartacus 登录超链接的 slot 并未出现在 page OCC API 响应里
- SAP Spartacus Static Multi-Site Configuration
- fixture.detectChange如何通过Angular zone执行其异步逻辑的
- 如何确认客户使用的Spartacus库文件是未经修改过的原始版本
- SAP Spartacus中使用到的Angular ModuleWithProviders类型
- Spring 中基于 AOP 的 XML操作方式