Leetcode: N-ary Tree Level Order Traversal

N-ary Tree Level Order Traversal



Similar Problems:


Given an n-ary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).

For example, given a 3-ary tree:

Leetcode: N-ary Tree Postorder Traversal

We should return its level order traversal:

[
     [1],
     [3,2,4],
     [5,6]
]

Note:

  1. The depth of the tree is at most 1000.
  2. The total number of nodes is at most 5000.

Github: code.dennyzhang.com

Credits To: leetcode.com

Leave me comments, if you have better ways to solve.


  • Solution:
## Blog link: https://code.dennyzhang.com/n-ary-tree-level-order-traversal
## Basic Ideas: BFS
## Complexity
"""
# Definition for a Node.
class Node(object):
    def __init__(self, val, children):
        self.val = val
        self.children = children
"""
class Solution(object):
    def levelOrder(self, root):
        """
        :type root: Node
        :rtype: List[List[int]]
        """
        if root is None: return []
        queue = collections.deque()
        queue.append(root)
        res = []
        while len(queue) != 0:
            l = []
            for i in xrange(len(queue)):
                node = queue.popleft()
                l.append(node.val)
                for child in node.children:
                    queue.append(child)
            res.append(l)
        return res
linkedin
github
slack

Share It, If You Like It.

Leave a Reply

Your email address will not be published.