• Leetcode: 二叉树的最小深度


    二叉树的最小深度


    给定一个二叉树,找出其最小深度。
    最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
    说明: 叶子节点是指没有子节点的节点
    示例:

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

        3
       / 
      9  20
        /  
       15   7
    

    返回它的最小深度 2.

    BFS搜索,遇到left and right 均为NULL时,就达到了叶子节点。

    # 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):
            """
            :type root: TreeNode
            :rtype: int
            """
            if root == None:
                return 0
            queue = []
            max_length = 0
            root.val = 1
            queue.append(root)
            while len(queue) != 0:
                root = queue.pop(0)
                length = root.val
                if length > max_length:
                    max_length = length
                if root.left == None and root.right ==None:
                    return max_length
                if(root):
                    if root.left:
                        root.left.val = length + 1
                        queue.append(root.left)
                    if root.right:
                        root.right.val = length + 1
                        queue.append(root.right)
            return max_length
    
  • 相关阅读:
    asp.net文件操作类
    MSMQ是什么?
    Type.GetType()在跨程序集反射时返回null的解决方法
    ASP.NET反射
    VS单元测试入门实践教程
    详解Linq to SQL
    .Net资源文件全球化
    正则表达式使用详解
    C# 中的委托和事件详解
    python基础
  • 原文地址:https://www.cnblogs.com/xmxj0707/p/9695610.html
Copyright © 2020-2023  润新知