zoukankan      html  css  js  c++  java
  • Leetcode: 二叉树的最大深度

    二叉树的最大深度


    给定一个二叉树,找出其最大深度。
    二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
    说明: 叶子节点是指没有子节点的节点。

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

        3
       / 
      9  20
        /  
       15   7
    

    返回它的最大深度 3 。

    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 maxDepth(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):
                    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
    
  • 相关阅读:
    软工第1次阅读作业
    软工第0次作业
    第四次博客
    第三次博客
    第二次
    第一次博客
    提问回顾与个人总结
    软件工程结对作业
    软件工程第一次阅读作业
    软件工程第0次个人作业
  • 原文地址:https://www.cnblogs.com/xmxj0707/p/9695624.html
Copyright © 2011-2022 走看看