【python-leetcode111-树的宽度遍历】二叉树的最小深度

时间:2022-07-23
本文章向大家介绍【python-leetcode111-树的宽度遍历】二叉树的最小深度,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

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

示例:

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

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

# 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
        queue=[root]
        res=[]
        depth=0
        while queue:
            depth=depth+1
            l=len(queue)
            for i in range(l):
                t=queue.pop(0)
                if not t.left and not t.right:
                    return depth
                if t.left:
                    queue.append(t.left)
                if t.right:
                    queue.append(t.right)