leetcode111.二叉树的最小深度python

根据题目描述,最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
在一段没有root.left时候最小深度为root.right+1,采用递归方法解决问题,下面是代码

if not root:
            return 0
        if not root.left:
            return 1+self.minDepth(root.right)
        if not root.right:
            return 1+self.minDepth(root.left)
        else:
            return 1+min(self.minDepth(root.right),self.minDepth(root.left))

二叉树最小深度的层次打印方法
算法遍历二叉树的每一层,发现某一层无子节点返回其深度,这个深度就是二叉树的最小深度。

        if not root:
            return 0
        p=[root]
        depth = 1 
        while p is not []:
            t=[]
            for i in p:
                if not i.left and not i.right:
                    return depth 
                if i.left:
                    t.append(i.left)
                if i.right:
                    t.append(i.right)
            p=t
            depth += 1 
        return depth
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 树的定义与基本术语   树型结构是一类重要的非线性数据结构,其中以树和二叉树最为常用,是以分支关系定义的层次结构。...
    java技术分享师阅读 1,136评论 0 1
  • 栈,队列,双端队列无序链表,有序链表二叉树,堆,二叉搜索树,AVL树图以及一些算法 coding: utf-8 u...
    hugoren阅读 637评论 0 0
  • 94. Binary Tree Inorder Traversal 中序 inorder:左节点->根节点->右节...
    Morphiaaa阅读 588评论 0 0
  • 也不知怎么的,昨天下起了雨。 小雨点儿聚在一起又细又密,从窗外望去白忙忙的,什么也看不清。一开始雨点...
    懵懂女孩xsy阅读 429评论 0 1
  • 理性让我们用长远眼光考虑事情,可感性却鼓励我们及时行乐。自己年初时也是兴致勃勃要改变自己,列了一堆的计划,半年过去...
    田田教练阅读 350评论 0 2