【Leetcode】1302. 层数最深叶子节点的和

2023-11-07

题目描述

在这里插入图片描述

题解

层序遍历是一定要的(而且是分层的层序遍历),也就是在层序遍历的过程中把 结点.val 加起来,但是要的是最后一层,我想不到要怎么判断遍历层最后一层,所以直接把每一层的 结点.val 加起来得到sum,到下一层的时候清空sum。

执行用时:6 ms, 在所有 Java 提交中击败了16.10%的用户

内存消耗:39.8 MB, 在所有 Java 提交中击败了49.66%的用户

通过测试用例:35 / 35

/**
 * 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 {
    int sum;
    
    public int deepestLeavesSum(TreeNode root) {
        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root);
        while (!q.isEmpty()) {
            int size = q.size();
            sum = 0;
            while (size > 0) {
                TreeNode node = q.poll();
                sum += node.val;
                if (node.left != null) {
                    q.offer(node.left);
                }
                if (node.right != null) {
                    q.offer(node.right);
                }
                size--;
            }
        }
        return sum;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Leetcode】1302. 层数最深叶子节点的和 的相关文章

  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo

随机推荐

  • ESP32-CAM网络摄像头系列-01-基于RTSP协议的局域网视频推流/拉流的简单实现

    前言 由于项目需要 最近开始开坑关于ESP32 CAM系列的RTSP网络摄像头系列 该文章为该系列的第一篇文章 用于记录项目开发过程 本文解决的问题 使用ESP32 CAM获取图像数据 并通过RTSP协议将获取到的视频流传输到上位机进行显示
  • mysql存储loop_mysql存储loop

    mysql数据库存储过程 存储过程简介 存储过程可以简单理解为一条或者多条sql语句的集合 存储过程用来实现将一组关于表的操作的sql语句当作一个整体来执行 存储过程在实际应用中最主要的特点的事提高执行效率以及sql代码封装功能 特别是sq
  • 今天我要写Code吗?

    Manager还能不能写Code 如果你刚从技术开发职位升迁到管理职位 这会是一个在相当长一段时间内非常纠结你的问题 如果你之前技术做得还不错 算是个 高手 你应该会更加纠结一点 也许每天都在挣扎着 今天我要写Code吗 在深入探讨这个问题
  • 基础设计三——FPGA学习笔记<4>

    前置学习 基础设计二 FPGA学习笔记 3 基础设计一 FPGA学习笔记 2 verilog语法 FPGA学习笔记 1 参考书目 野火FPGA Verilog 开发实战指南 目录 一 串口 RS232 lt 1 gt 简介 lt 2 gt
  • Qt5.3.1编译QOCI链接oracle

    一 Qt 我下载的是mingw版本的 qt opensource windows x86 mingw482 opengl 5 3 1 exe 安装 安装的时候记得把source选上 建议全选 电脑不差3点多G的空间吧 安装好后 我们设置一下
  • IDC存储软件定义的七个主要类别

    在DoStor上看到一篇文章 提到IDC存储软件定义的七个主要类别 1 数据备份与恢复 2 归档软件 3 复制软件 4 存储管理软件 5 存储设备管理软件 6 存储基础架构软件 7 文件系统软件 对号入坐 我在学习和工作中涉及了其中的1 2
  • Git密码(登录凭证)的保存和重置 Mac

    Git密码 登录凭证 的保存和重置 Mac 1 凭证系统 2 命令行操作 store模式 2 1 凭证存储 2 2 凭证删除 3 命令行操作 osxkeychain模式 Mac用户 3 1 辅助工具安装 3 2 凭证存储 3 3 凭证删除
  • osg报错:错误(活动) E0757 变量 “GLenum“ 不是类型名

    前言 osg报错 错误 活动 E0757 变量 GLenum 不是类型名 原因 osg中封装了openGL的库 感觉vs2019无法识别openGL相关的部分 解决 vs2019中配置 预处理器
  • DELL R服务器配置IPMI

    转载自https blog csdn net hanzheng260561728 article details 107661274 使用iDRAC设置实用程序 在启动过程中按F2 设置iDRAC IP 打开受管理的系统 在开机自检 POS
  • 如何将node.js部署到服务器上

    注 本文只是简易的单个node js文件 名为server js 运行 是为了给前端项目写一个数据接口 环境 阿里云服务器 ubuntu 64bit xshell 1 首先登录阿里云添加安全组规则 开放程序运行时访问的端口号 本文为8000
  • 使用 selenium 连接已经打开的 chrome 浏览器

    1 方法一 新建文件夹test 进入chrome exe 目录 打开CMD 输入 chrome exe remote debugging port 9999 user data dir D test 弹出 浏览器框 pycharm运行脚本如
  • springmvc代码正确但是报错404解决以及乱码解决

    1 如果代码正确 但是运行报错404的话 可能是jar包没有导入到maven上 可以到Project Structure 中的Artifacts中 找到对应的项目 创建一个lib文件夹 添加jar包到里面 如果没有导入jar包的话 可以在W
  • Linux nohup后台命令基础详解

    一 前言 因为经常使用Xshell进行服务器代码的运行 但是每次到关机后 或者是关掉Xshell连接窗口 在服务器上的命令 操作也就断掉了 这不得不找到了一个Linux命令 nohup 二 基本用法 nohup command arg 拿p
  • PHP实现发送邮件

    不同类型的邮箱发送邮件的方式也是不同的 下面我们就先给大家举例介绍qq邮箱开启发送邮件服务的方法 首先我们登录qq邮箱 打开设置 选择帐户 然后在帐户下 找到如下所示的开启服务部分 开启服务中 前两个选项均可实现邮件发送服务 点击开启 会出
  • 2个map集合求差集

    List
  • I - Playing With Strings(回文串)

    I Playing With Stringshttps vjudge csgrandeur cn problem Gym 101020I 丹尼和迈克是两个孩子 他们整天玩游戏 当他们找不到游戏玩的时候 他们就发明一个游戏 有一个小时左右到达
  • 用table进行网页的布局

    table width 100 tr td table width 100 tr td img src img logo2 png td td img src img header jpg td td a href 登录 a td tr t
  • var与ES6中const、let声明的变量的区别

    好久以前的研究 今天再来回顾一下 首先我们比较一下使用var声明的变量和不使用var声明的变量的区别 使用var声明的变量声明前调用 那么该变量的值为undefined 不使用var声明的变量声明前调用直接报错Uncaught Refere
  • 如何把项目上传到Gitee(小白必备)

    序言 配置ssh 1 设置 gt ssh公钥 gt 怎么生成公钥 gt 在任意地方打开powerShell运行复制的代码 gt 成功生成的ssh key会展示地址 我这里已经生成了 打开相应的地址 注意 这里复制之后一路enter不需要填信
  • 【Leetcode】1302. 层数最深叶子节点的和

    题目描述 题解 层序遍历是一定要的 而且是分层的层序遍历 也就是在层序遍历的过程中把 结点 val 加起来 但是要的是最后一层 我想不到要怎么判断遍历层最后一层 所以直接把每一层的 结点 val 加起来得到sum 到下一层的时候清空sum