博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode111. 二叉树的最小深度 (BFS) + (递归)两种方法
阅读量:3934 次
发布时间:2019-05-23

本文共 1152 字,大约阅读时间需要 3 分钟。

LeetCode111. 二叉树的最小深度 (BFS) + (递归)两种方法

BFS

# Definition for a binary tree node.class TreeNode:    def __init__(self, x):        self.val = x        self.left = None        self.right = None        class Solution:    def minDepth(self, root: TreeNode) -> int:        if not root:            return 0        q = []        q.append(root)        ans = 1        while q:            tmp = []            for i in q:                if i.left:                    tmp.append(i.left)                if i.right:                    tmp.append(i.right)                if not i.left and not i.right:                    return ans            ans +=1            q = tmp        return ans

递归

# Definition for a binary tree node.# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    def minDepth(self, root: TreeNode) -> int:        if not root:            return 0        l = self.minDepth(root.left) + 1        r = self.minDepth(root.right) + 1        if root.left and root.right:            return min(l, r)        elif root.left:            return l        else:            return r

转载地址:http://sbrgn.baihongyu.com/

你可能感兴趣的文章
nginx大流量负载调优
查看>>
Nginx + varnish 构建高可用CDN节点集群
查看>>
Linux下Nginx+Tomcat负载均衡和动静分离配置要点
查看>>
jdk 1.5中的concurrent 在多线程并发中的使用
查看>>
JAVA后台程序设计及UTIL.CONCURRENT包的运用
查看>>
JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
查看>>
jvisualvm监控远程服务器linux的tomcat
查看>>
HTTP抓包工具Fiddler---记录博客地址
查看>>
Java问题排查常用linux命令
查看>>
线上应用故障排查之一:高CPU占用
查看>>
线上应用故障排查之二:高内存占用
查看>>
JNDI全面总结--1.spring-DB配置
查看>>
配置数据库连接池之JNDI的方式,tomcat
查看>>
JDNI、dbcp、c3p0、jdbc简单总结--整理
查看>>
ThreadLocal--线程独自共享变量
查看>>
Tomcat 系统架构--工作原理
查看>>
Tomcat 系统架构--设计模式
查看>>
JAVA设计模式之门面模式(外观模式)
查看>>
Java设计模式之观察者模式
查看>>
Java设计模式之责任链模式、职责链模式
查看>>