二叉樹的最大深度

圖1
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def maxDepth(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        if root is None:
            return 0
        if (root.left is None) and (root.right is None):
            return 1
        depth = maxdepth()
        depth.depth(root, 1)
        return max(depth.l)

class maxdepth:
    def __init__(self):
        self.l = []

    def depth(self, t, i):
        if t.right or t.left:
            if t.left:
                self.depth(t.left, i+1)
            if t.right:
                self.depth(t.right, i+1)
        else:
            self.l.append(i)
        return

思路:遍歷每個葉子節(jié)點(diǎn)時,記錄走到葉子節(jié)點(diǎn)的路徑數(shù),放入到列表中,當(dāng)全部遍歷結(jié)束時,找出列表中最大值就是其深度。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 104. 二叉樹的最大深度 描述 給定一個二叉樹,找出其最大深度。 二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上...
    GoMomi閱讀 1,296評論 0 0
  • 題目 給定一個二叉樹,找出其最大深度。二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上的節(jié)點(diǎn)數(shù)。說明: 葉子節(jié)點(diǎn)是指...
    尼小摩閱讀 349評論 0 0
  • 給定一個二叉樹,找出其最大深度。 二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上的節(jié)點(diǎn)數(shù)。 說明: 葉子節(jié)點(diǎn)是指沒...
    小白學(xué)編程閱讀 240評論 0 0
  • 二叉樹的最大深度給定一個二叉樹,找出其最大深度。 二叉樹的深度為根節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的最長路徑上的節(jié)點(diǎn)數(shù)。 說明:...
    one_zheng閱讀 256評論 0 0
  • 一直以來就存在畏難情緒,碰到很有難度或者得不到配合的事情就會擱置在那里。其實(shí)心里還是一直惦記著它,但是遲遲不愿意開...
    靜靜地簡書閱讀 461評論 0 0

友情鏈接更多精彩內(nèi)容