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 number 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]
Output: 2
Explanation: Level 1 sum = 1. Level 2 sum = 7 + 0 = 7. Level 3 sum = 7 + (-8) = -1. The maximum sum is 7 at level 2.
Example 2:
Input: root = [989, null, 10250, 98693, -89388, null, null, null, -32127]
Output: 2
Explanation: Level 1 sum = 989. Level 2 sum = 10250. Level 3 sum = 98693 + (-89388) = 9305. Level 4 sum = -32127. The maximum sum is 10250 at level 2.
Example 3:
Input: root = [1]
Output: 1
Explanation: Only one level exists with sum 1.
[1, 10⁴]-10⁵ <= Node.val <= 10⁵