您需要在二叉树的每一行中找到最大的值。
示例:
输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9]
class Solution {
public:
vector<int> largestValues(TreeNode* root)
{
if(!root) return {};
vector<int> res;
queue<TreeNode *> qu;
qu.push(root);
while(!qu.empty())
{
vector<int> curr;
int count = qu.size();
while(count--)
{
curr.push_back(qu.front()->val);
if(qu.front()->left) qu.push(qu.front()->left);
if(qu.front()->right) qu.push(qu.front()->right);
qu.pop();
}
int s = INT_MIN;
for(auto c : curr)
s = max(s, c);
res.push_back(s);
}
return res;
}
};