劍指 Offer 55 - I. 二叉樹的深度_CodingPark程式設計公園
阿新 • • 發佈:2021-01-29
二叉樹的深度
問題
輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、葉節點)形成樹的一條路徑,最長路徑的長度為樹的深度。
例如:
給定二叉樹 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
連結:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof
解答
# 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: TreeNode) -> int:
if not root:
return 0
que = collections.deque()
fin = []
que.append(root)
while que:
tmp1 = []
for i in range(len(que)):
tmp1.append(que[0].val)
if que[0].left:
que.append(que[0].left)
if que[0].right:
que.append(que[0].right)
que.popleft()
fin. append(tmp1)
res = len(fin)
return res