---
# System prepended metadata

title: 429_N-ary_Tree_Level_Order_Traversal
tags: [leetcode]

---

# 429_N-ary_Tree_Level_Order_Traversal
###### tags: `leetcode`
## Problem Statement
Given an n-ary tree, return the level order traversal of its nodes' values.

Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value (See examples).
- Example 1:
![](https://i.imgur.com/FZwzqNy.png)
> Input: root = [1,null,3,2,4,null,5,6]
Output: [[1],[3,2,4],[5,6]]
- Example 2:
![](https://i.imgur.com/TF7ZKNa.png)
> 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:

> The height of the n-ary tree is less than or equal to 1000
The total number of nodes is between $[0, 10^4]$
## Solution
- This problem is a simple level order treversal.
- In typical manner, push the root into a queue and start trevering
```cpp=
queue.push_back(root);
levelAdd(1);
```
- The construction of treversal is to seek the whole queue with the legitimate amount and put them in the same level
```cpp=
for (int i= 0; i< size; i++)
{
    Node* now= queue[0];
    queue.erase(queue.begin());
    a.push_back(now->val);
    queue.insert(queue.end(), (now->children).begin(), (now->children).end());
    n+= (now->children).size();
}
```
- Remember to add the new one into the waiting queue and implement the size
