# 102. Binary Tree Level Order Traversal

 **<font color=red>难度: Medium</font>**

 ## 刷题内容

 > 原题连接

* https://leetcode-cn.com/problems/binary-tree-level-order-traversal/
  
 > 内容描述
 
 ```
给定一个二叉树，返回其按层次遍历的节点值。 （即逐层地，从左到右访问所有节点）。

例如:
给定二叉树: [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
返回其层次遍历结果：

[
  [3],
  [9,20],
  [15,7]
]
 ```

## 解题方案
> 思路 1
```
层次遍历
```

```cpp
vector<vector<int>> levelOrder(TreeNode* root) {
    vector<vector<int>> ans;
    if(root==NULL)
        return ans;
    vector<TreeNode*> level;
    level.push_back(root);
    while(!level.empty()){
        vector<TreeNode*> tmp;
        vector<int> level_val;
        for(int i=0;i<level.size();i++){
            if(level[i]->left)
                tmp.push_back(level[i]->left);
            if(level[i]->right)
                tmp.push_back(level[i]->right);
            level_val.push_back(level[i]->val);
        }
        ans.push_back(level_val);
        level = tmp;
    }
    return ans;
}

```