手写代码:求二叉树每层最大值
参考回答:
class Solution {
public:
vector<int> largestValues(TreeNode* root) {
if(root == NULL) {
return maxNum;
}
travel(root,level);
return maxNum;
}
TreeNode* travel(TreeNode* root, int level) {
if(!root) return NULL;
if(maxNum.size() < level + 1) {
maxNum.push_back(root->val);
} else {
maxNum[level] = max(root->val,maxNum[level]);
}
travel(root->left,level+1);
travel(root->right,level+1);
return root;
}
private:
int level = 0;
vector<int> maxNum;
};