zoukankan      html  css  js  c++  java
  • [LeetCode] 1302. 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 ,请你返回层数最深的叶子节点的和。

    这道题的 tag 给的是 DFS 但是这里我给一个更容易理解的 BFS 的做法吧。题目要你计算的是所有的叶子节点的节点值的和。我们可以这样做,对于每一层节点,我们去计算当前层所有节点的和。如果有下一层的话,那么我们把 res 重置为 0 即可。

    时间O(n)

    空间O(n)

    Java实现

     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode() {}
     8  *     TreeNode(int val) { this.val = val; }
     9  *     TreeNode(int val, TreeNode left, TreeNode right) {
    10  *         this.val = val;
    11  *         this.left = left;
    12  *         this.right = right;
    13  *     }
    14  * }
    15  */
    16 class Solution {
    17     public int deepestLeavesSum(TreeNode root) {
    18         int res = 0;
    19         Queue<TreeNode> queue = new LinkedList<>();
    20         queue.offer(root);
    21         while (!queue.isEmpty()) {
    22             int size = queue.size();
    23             res = 0;
    24             for (int i = 0; i < size; i++) {
    25                 TreeNode cur = queue.poll();
    26                 res += cur.val;
    27                 if (cur.left != null) {
    28                     queue.offer(cur.left);
    29                 }
    30                 if (cur.right != null) {
    31                     queue.offer(cur.right);
    32                 }
    33             }
    34         }
    35         return res;
    36     }
    37 }

    LeetCode 题目总结

  • 相关阅读:
    WordCount结对项目
    第一周作业:一些感想
    第一次作业
    Spring Cloud 微服务实战笔记
    解决jest处理es模块
    领域驱动设计(DDD:Domain-Driven Design)
    测试
    whistle
    日记(2018-11-07)
    ubuntu中使用机密数据Secrets
  • 原文地址:https://www.cnblogs.com/cnoodle/p/14652633.html
Copyright © 2011-2022 走看看