leetcodeday429— N 叉树的层序遍历

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

示例 1:

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

示例 2:

# [429] N 叉树的层序遍历
#

# @lc code=start
"""
# Definition for a Node.
class Node:
    def __init__(self, val=None, children=None):
        self.val = val
        self.children = children
"""

class Solution:
    def levelOrder(self, root: 'Node') -> List[List[int]]:
        if not root: return [] #注意特殊情况:树为空返回[]
        queue = [root]
        list1 = []
        while queue:
            list2 = []
            lens=len(queue)
            for i in range(lens):
                a = queue.pop(0)#元素出队列
                for i in range(len(a.children)):
                    queue.append(a.children[i])
                     
                list2.append(a.val)
            list1.append(list2)
        return list1

        
# @lc code=end

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注