您好,登錄后才能下訂單哦!
怎樣找出python二叉樹的最大深度,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
【題目】
給定一個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:
給定二叉樹 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
【思路】
使用二叉樹的常用解法:遞歸得到左子樹最大高度、右子樹最大高度(如果某個子樹為空,那么高度為0),那么本層的高度就為兩者高度最大值+1。
【代碼】
python版本
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def maxDepth(self, root: TreeNode) -> int:
# 節點為None,返回高度為0
if not root:
return 0
left_depth, right_depth = 0, 0
# 得到左子樹高度
if root.left:
left_depth = self.maxDepth(root.left)
# 得到右子樹高度
if root.right:
right_depth = self.maxDepth(root.right)
return max(left_depth, right_depth) + 1
看完上述內容,你們掌握怎樣找出python二叉樹的最大深度的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。