<jupyter_start><jupyter_text>说明：    给你一个二叉树的根节点 root。    设根节点位于二叉树的第 1 层，而根节点的子节点位于第 2 层，依此类推。    请你找出层内元素之和 最大 的那几层（可能只有一层）的层号，    并返回其中 最小 的那个。示例 2：    输入：root = [989,null,10250,98693,-89388,null,null,null,-32127]    输出：2    提示：    1、树中的节点数介于 1 和 10^4 之间    2、-10^5 <= node.val <= 10^5<jupyter_code><img src='https://assets.leetcode.com/uploads/2019/05/03/capture.JPG'><jupyter_output><empty_output><jupyter_text>示例 1：    输入：root = [1,7,0,7,-8,null,null]    输出：2    解释：    第 1 层各元素之和为 1，    第 2 层各元素之和为 7 + 0 = 7，    第 3 层各元素之和为 7 + -8 = -1，    所以我们返回第 2 层的层号，它的层内元素之和最大。<jupyter_code>from collections import defaultdict

class Solution:
    def maxLevelSum(self, root: TreeNode) -> int:
        s = defaultdict(lambda: 0)
        def mls(v, l):
            if v is None:
                return
            s[l] += v.val
            mls(v.left, l + 1)
            mls(v.right, l + 1)
        mls(root, 0)
        c, l = max([(v, -l) for l, v in s.items()])
        print(list(s.items()))
        return -l + 1
from collections import defaultdict

s = defaultdict(lambda:0)
s
class Solution:
    def maxLevelSum(self, root: TreeNode) -> int:
        nodes, vals = [root], []
        while nodes:
            new_nodes, new_vals = [], []
            while nodes:
                n = nodes.pop()
                if n:
                    new_vals.append(n.val)
                    if n.left:
                        new_nodes.append(n.left)
                    if n.right:
                        new_nodes.append(n.right)
            nodes = new_nodes
            vals.append(sum(new_vals[:]))
        return vals.index(max(vals)) + 1<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1310096153846154, 'fraction_numerical': 0.04326923076923077, 'mean_word_length': 1.8706896551724137, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '343347', 'license': 'Apache-2.0', 'n_tokens_mistral': 741, 'n_tokens_neox': 725, 'n_words': 136, 'path': 'Tree/1022/1161. Maximum Level Sum of a Binary Tree.ipynb', 'repo_name': 'YuHe0108/Leetcode', 'size': '1664'}