111. 二叉树的最小深度

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

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

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

示例:

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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree

递归水题

# 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
        children=[root.left,root.right]
        if not any(children):
            return 1
        min_depth=float('inf')
        for child in children:
            if child:
                min_depth = min(min_depth,self.minDepth(child))
        return min_depth+1

 

上一篇:ASPP pytorch 实现


下一篇:涂色游戏Flood-it!(IDA star算法) - HDU 4127