Maximum Level Sum of a Binary Tree LeetCode solution in C++

1
class Solution {
2
public:
3
int maxLevelSum(TreeNode *root) {
4
int maxSum = INT_MIN;
5
int minLevel = 1;
6

7
int level = 1;
8
queue<TreeNode *> qq;
9
qq.push(root);
10
// level order traversal
11
while (!qq.empty()) {
12
int size = qq.size();
13
int currSum = 0;
14
while (size--) {
15
auto node = qq.front();
16
qq.pop();
17
currSum += node->val;
18
if (node->left) qq.push(node->left);
19
if (node->right) qq.push(node->right);
20
}
21
if (currSum > maxSum) {
22
maxSum = currSum;
23
minLevel = level;
24
}
25
level++;
26
}
27

28
return minLevel;
29
}
30
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0