1161. Maximum Level Sum of a Binary Tree

Difficulty:
Related Topics:
Similar Questions:

    Problem

    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.

      Example 1:

    Input: root = [1,7,0,7,-8,null,null]
    Output: 2
    Explanation: 
    Level 1 sum = 1.
    Level 2 sum = 7 + 0 = 7.
    Level 3 sum = 7 + -8 = -1.
    So we return the level with the maximum sum which is level 2.
    

    Example 2:

    Input: root = [989,null,10250,98693,-89388,null,null,null,-32127]
    Output: 2
    

      Constraints:

    Solution (Java)

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    class Solution {
        private List<Integer> sums;
    
        public int maxLevelSum(TreeNode root) {
            sums = new ArrayList<>();
            find(root, 1);
            int ans = 1;
            int maxv = Integer.MIN_VALUE;
            for (int i = 0; i < sums.size(); i++) {
                if (sums.get(i) > maxv) {
                    maxv = sums.get(i);
                    ans = i + 1;
                }
            }
            return ans;
        }
    
        private void find(TreeNode root, int height) {
            if (root == null) {
                return;
            }
            if (sums.size() < height) {
                sums.add(root.val);
            } else {
                sums.set(height - 1, sums.get(height - 1) + root.val);
            }
            find(root.left, height + 1);
            find(root.right, height + 1);
        }
    }
    

    Explain:

    nope.

    Complexity: