1. 程式人生 > 實用技巧 >LeetCode 559. N 叉樹的最大深度

LeetCode 559. N 叉樹的最大深度

559. N 叉樹的最大深度

Difficulty: 簡單

給定一個 N 叉樹,找到其最大深度。

最大深度是指從根節點到最遠葉子節點的最長路徑上的節點總數。

N 叉樹輸入按層序遍歷序列化表示,每組子節點由空值分隔(請參見示例)。

示例 1:

輸入:root = [1,null,3,2,4,null,5,6]
輸出:3

示例 2:

輸入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
輸出:5

提示:

  • 樹的深度不會超過1000
  • 樹的節點數目位於 [0,10<sup>4</sup>]
    之間。

Solution

Language: ****

"""
# Definition for a Node.
class Node:
   def __init__(self, val=None, children=None):
     self.val = val
     self.children = children
"""
​
class Solution:
  def maxDepth(self, root: 'Node') -> int:
    if not root: return 0
    queue, res = [root], 0
​
    while queue:
      size = len(queue)
      for i in range(size):
        node = queue.pop(0)
        for i in node.children:
          queue.append(i)
      res += 1
    return res