# 515. Find Largest Value in Each Tree Row

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

 ## 刷题内容

 > 原题连接

* https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/
  
 > 内容描述
 
 ```
您需要在二叉树的每一行中找到最大的值。

示例：

输入: 

          1
         / \
        3   2
       / \   \  
      5   3   9 

输出: [1, 3, 9]
 ```

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

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

```