leetcode515在每个树行中找最大值

leetcode 515 Find Largest Value in Each Tree Row

Posted by BY on August 21, 2020

前言

持续更新了

正文

问题来源

本问题来自leetcode上的515题。

问题描述

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

示例 1:

输入: 

          1
         / \
        3   2
       / \   \  
      5   3   9 

输出: [1, 3, 9]

分析:

class Solution {
public:
    vector<int> largestValues(TreeNode* root) {
        vector<int> res;
        if(root == NULL) return res;
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty()) {
            int levelSize = q.size();
            int levelMax = INT_MIN;
            for(int i = 0; i < levelSize; i++) {
                TreeNode* curNode = q.front();
                q.pop();
                levelMax = max(curNode->val, levelMax);
                if(curNode->left) q.push(curNode->left);
                if(curNode->right) q.push(curNode->right);
            }
            res.push_back(levelMax);
        }
        return res;
    }
};

总结:

勤思考。

结语

不管怎么样好好加油。