diff options
Diffstat (limited to 'max_sum_binary_tree.cpp')
-rw-r--r-- | max_sum_binary_tree.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/max_sum_binary_tree.cpp b/max_sum_binary_tree.cpp deleted file mode 100644 index 64d1d20..0000000 --- a/max_sum_binary_tree.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// 1161. Maximum Level Sum of a Binary Tree -#include "leetcode.h" - -/* - * given the 'root' of a binary tree, the level of its root is 1, the level of - * its children is 2, and so on. return the smallest level 'x' such that the sum - * of all the values of nodes at level 'x' is maximal. - */ - -class Solution { - vector<int> sums; - void dfs(TreeNode *root, size_t level) { - if (root) { - sums.resize(max(sums.size(), level)); - sums[level - 1] += root->val; - dfs(root->left, level + 1); - dfs(root->right, level + 1); - } - } - -public: - int maxLevelSum(TreeNode *root) { - dfs(root, 1); - return distance(begin(sums), max_element(begin(sums), end(sums))) + 1; - } -}; |