加载中...
1302-层数最深叶子节点的和(Deepest Leaves Sum)
发表于:2021-12-03 | 分类: 中等
字数统计: 187 | 阅读时长: 1分钟 | 阅读量:

原文链接: https://leetcode-cn.com/problems/deepest-leaves-sum

英文原文

Given the root of a binary tree, return the sum of values of its deepest leaves.

 

Example 1:

Input: root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
Output: 15

Example 2:

Input: root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
Output: 19

 

Constraints:

  • The number of nodes in the tree is in the range [1, 104].
  • 1 <= Node.val <= 100

中文题目

给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和

 

示例 1:

输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
输出:15

示例 2:

输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
输出:19

 

提示:

  • 树中节点数目在范围 [1, 104] 之间。
  • 1 <= Node.val <= 100

通过代码

高赞题解

层序遍历二叉树,利用变量size获取每一行的节点数,更新每一行的节点之和。

class Solution {
    public int deepestLeavesSum(TreeNode root) {
        int res = 0;
        LinkedList<TreeNode> nodeStack = new LinkedList<>();
        nodeStack.add(root);
        while (!nodeStack.isEmpty()) {
            int size = nodeStack.size();
            int currSum = 0;
            while ((--size) >= 0) {
                TreeNode node = nodeStack.poll();
                currSum += node.val;
                if (node.left != null)
                    nodeStack.add(node.left);
                if (node.right != null)
                    nodeStack.add(node.right);
            }
            res = currSum;
        }
        return res;
    }
}

统计信息

通过次数 提交次数 AC比率
20734 25272 82.0%

提交历史

提交时间 提交结果 执行时间 内存消耗 语言
上一篇:
1329-将矩阵按对角线排序(Sort the Matrix Diagonally)
下一篇:
1330-翻转子数组得到最大的数组值(Reverse Subarray To Maximize Array Value)
本文目录
本文目录