• 104-111-二叉树最大深度和最小深度


    题目:求一个二叉树的最大深度和最小深度

    def max_depth(root):
        if not root:
            return 0
        return 1 + max(max_depth(root.left),max_depth(root.right))
    
    def min_depth(root):
        if not root:
            return 0
        if not root.left:
            return 1+min_depth(root.right)
        if not root.right:
            return 1+min_depth(root.left)
        return 1 + min(min_depth(root.left),min_depth(root.right))

    注:

    采用分治法,最大深度即为左右子树的最大深度+1;最小深度即为左右子树的最小深度+1。最小深度的时候还要注意,如果节点只有左子树或右子树,需要返回另一半子树的深度+1,这是比求最大深度要增加的部分,否则就会将该节点的深度求为1。

  • 相关阅读:
    重定向管道
    系统安全
    Linux启动流程
    压缩解压
    Vim
    ssh
    sudo
    Raid
    rsync
    quota
  • 原文地址:https://www.cnblogs.com/kingshine007/p/11374159.html
Copyright © 2020-2023  润新知