Given an n-ary tree, return the level order traversal of its nodes' values.node
Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value (See examples).git
Example 1:
github
Input: root = [1,null,3,2,4,null,5,6] Output: [[1],[3,2,4],[5,6]] Example 2:
Example 2:網絡
Input: 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] Output: [[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]
Constraints:app
The height of the n-ary tree is less than or equal to 1000
The total number of nodes is between [0, 10^4]less
給定
一個 N 叉樹,返回其節點值的層序遍歷。 (即從左到右,逐層遍歷)。ui
例如,給定一個 3叉樹 :spa
返回其層序遍歷:code
[ [1], [3,2,4], [5,6] ]
說明:blog
樹的深度不會超過 1000。
樹的節點總數不會超過 5000。
來源:力扣(LeetCode)
連接:https://leetcode-cn.com/probl...
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。
# -*- coding: utf-8 -*- # @Author: 何睿 # @Create Date: 2019-12-28 21:23:06 # @Last Modified by: 何睿 # @Last Modified time: 2019-12-28 21:34:42 from typing import List from collections import deque class Solution: def levelOrder(self, root: 'Node') -> List[List[int]]: if not root: return [] result = [] queue = deque([root]) while queue: tmp = [] count = len(queue) for _ in range(count): node = queue.popleft() tmp.append(node.val) if node.children: queue.extend(node.children) result.append(tmp) return result