Skip to content

515. Find Largest Value in Each Tree Row

难度: Middle

刷题内容

原题连接

  • https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/

内容描述

``` 您需要在二叉树的每一行中找到最大的值。

示例:

输入:

      1
     / \
    3   2
   / \   \  
  5   3   9

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

解题方案

思路 1

层次遍历二叉树
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;
}



回到顶部