# 102_Binary_Tree_Level_Order_Traversal
###### tags: `leetcode`
## Problem Statement
Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level).
- Example 1:
> Input: root = [3,9,20,null,null,15,7]
Output: [[3],[9,20],[15,7]]
- Example 2:
> Input: root = [1]
Output: [[1]]
- Example 3:
> Input: root = []
Output: []
- Constraints:
> The number of nodes in the tree is in the range [0, 2000].
-1000 <= Node.val <= 1000
## Solution
- This is different to the former question, but with likewise idea.
- Since it is asked about the **level**, the use a vector to store the current used level, and store the next level treenode is the solution.
```cpp=
vector<vector<int>> ans;
if (!root)
return ans;
vector<int> temp;
vector<TreeNode*> res(1, root);
int s;
while (res.size())
{
s= res.size();
for (int i= 0; i< s; i++)
{
temp.push_back(res[0]->val);
if (res[0]-> left)
{
res.push_back(res[0]->left);
}
if (res[0]->right)
{
res.push_back(res[0]->right);
}
res.erase(res.begin());
}
ans.push_back(temp);
temp.clear();
}
return ans;
```