树_二叉树所有路劲

在这里插入图片描述

//给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 
//
// 叶子节点 是指没有子节点的节点。 
//
// 示例 1: 
// 
// 
//输入:root = [1,2,3,null,5]
//输出:["1->2->5","1->3"]
// 
//
// 示例 2: 
//
// 
//输入:root = [1]
//输出:["1"]
// 
//
// 
//
// 提示: 
//
// 
// 树中节点的数目在范围 [1, 100] 内 
// -100 <= Node.val <= 100 
// 
//
// Related Topics 树 深度优先搜索 字符串 回溯 二叉树 👍 1072 👎 0


//leetcode submit region begin(Prohibit modification and deletion)

import java.util.ArrayList;

/**
 * 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 {
    /**
     * 记录结果
     */
    List<String> res = new ArrayList<>();

    public List<String> binaryTreePaths(TreeNode root) {
        if(root == null){
            return res;
        }

        findWay(new ArrayList<>(), root);

        return res;
    }

    private void findWay(List<Integer> recordList, TreeNode cur) {
        recordList.add(cur.val);
        if (cur.left == null && cur.right == null) {
            StringBuilder s = new StringBuilder();
            for (int i = 0; i < recordList.size() - 1; i++) {
                s.append(recordList.get(i)).append("->");
            }
            s.append(recordList.get(recordList.size() - 1));
            res.add(s.toString());
            return;
        }

        if (cur.left != null) {
            findWay(recordList, cur.left);
            recordList.remove(recordList.size() - 1);
        }

        if (cur.right != null) {
            findWay(recordList, cur.right);
            recordList.remove(recordList.size() - 1);
        }

        return;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215192.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cmkae外部依赖管理

文章目录 一、cmake依赖管理介绍二、源码依管理1. FetchContent与find_package进行集成 2. CPM3. git submodule附加&#xff1a; address_sanitizer 和 undefined sanitizer 一、cmake依赖管理介绍 CMake 是跨平台的构建系统&#xff0c;支持 C/C、Objective-C、Fortran 等多种…

mysql中除了InnoDB以外的其它存储引擎

参考资料&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html MyISAM存储引擎 https://dev.mysql.com/doc/refman/8.0/en/myisam-storage-engine.html MyISAM 存储引擎是基于比较老的ISAM存储引擎&#xff08;ISAM已经不再可用&#xff09;&#xff…

CSS模块化的理解

说起css模块化&#xff0c;那么先来看看它的发展吧&#xff01; 发展历程 从Web技术来讲 Web 1.0&#xff1a;Web 起源于上世纪 90 年代&#xff0c;当时主要是静态页面&#xff0c;内容呈现形式单一&#xff0c;浏览器技术也比较简单。Web 1.0 的网站主要提供信息传递和查找…

Java Web 学习之路(2) —— 概念、SpringBoot + MyBatis(controller+service+mapper)开发流程与过程梳理

文章目录 前言1. 常见的一些概念1.1 POJO&#xff08;Plain Ordinary Java Object 简单Java对象&#xff09;1.2 DAO和Mapper 2. Java的三层架构2.1 包的层级结构2.2 交互层 controller&#xff08;用户界面、网页&#xff09;jsp文件2.3 业务处理层 service2.4 Mapper层 3. 注…

认识DHT11温湿度传感器并制作温度报警器

Arduino UNO Arduino IDE开发环境 Arduino DHT11温湿度传感器 ​ 一、认识Arduino的DHT11温度湿度传感器 DHT传感器由电容式湿度传感器和热敏电阻两部分组成。除此之外&#xff0c;模块内部还有一些模拟信号到数字信号的转换&#xff0c;将温度湿度以数字信号的方式输…

[oeasy]python0002_终端_CLI_GUI_编程环境_游戏_真实_元宇宙

回忆 上次 了解了 python 语言的特点 历史悠久功能强大深受好评已成趋势 3大主流操作系统 macwindowslinux 我们 选择 linux 作为基础系统 为什么选择 黑乎乎的命令行界面呢&#xff1f;&#x1f914; GUI vs CLI 个人电脑 用图标和菜单组成 图形界面(GUI) Graphic User I…

电容、电感和电阻

一、电感 1&#xff09;图片 2&#xff09;作用 a&#xff09;储存容量 例如dcdc转换器的原理,将一个电压值转换成另外一个电压值 b&#xff09;选择信号 比如空气中弥漫着很多信号&#xff0c;我们应该怎么选取我们所需要的信号。 电感和电容可以看成一个电阻&#xff0c;当电…

基于springboot实现的垃圾分类管理系统

一、系统架构 前端&#xff1a;html | layer | jquery | css 后端&#xff1a;springboot | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、 代码及数据库 三、功能介绍 01. 登录页 02. 系统设置-用户管理 03. 系统设置-页面管理 04. 系统设置-角色管…

015 OpenCV 霍夫变换(圆检测)

目录 一、环境 二、算法原理 三、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、算法原理 霍夫圆检测&#xff08;Hough Circle Detection&#xff09;是计算机视觉中一种常用的图像处理技术&#xff0c;主要用于检测…

fpga rom 初始化文件的一些心得

目录 可能遇到的问题 问题 解决方案 rom的初始化 用途 文件类型 如何生成初始化文件 示例 Altera Xilinx 可能遇到的问题 问题 altera FPGA的rom找不到初始化文件&#xff0c;编译过程会提示类似的问题 Error(127001): Cant find Memory Initialization File or He…

中通快递单号查询入口,并分析筛选出揽收中转延误件

批量查询中通快递单号的物流信息&#xff0c;并将其中的揽收中转延误件(从“揽收”至“到达转运中心”之间的时间差超过24小时的单号)分析筛选出来。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递…

【Docker实操】创建一个Nginx服务

一、不使用DockerFile 1、获取nginx官方镜像 docker pull nginx //拉取nginx官方镜像 docker image nginx //查看镜像2、创建项目目录 项目目录&#xff1a;/root/www2/nginx //如果当前目录在root mkdir www2 mkdir www2/nginx cd www2/nginx //进入项目目录3、创建源码文…

产品经理面试问题(四)

今天和大家免费分享产品经理常见的面试题目&#xff0c;含回答思路分析和回答事例。 【资源下载】 这个模板可以在 Axure高保真原型哦 小程序里免费下载 打开小程序后&#xff0c;在文档模板模块&#xff0c;搜索产品经理面试题目&#xff0c;获取下载地址 更多原型模板、视…

护眼灯什么光对眼睛好?适合考研党用的台灯推荐

如今&#xff0c;大多数人的日常工作和学习都离不开电子设备&#xff0c;长时间盯着屏幕容易造成眼睛疲劳和视力下降。全国近视率占多数的还是青少年&#xff0c;护眼台灯作为一种照明设备&#xff0c;具有调节光线亮度和色温的功能&#xff0c;可以有效减少眼睛的疲劳&#xf…

实时设计#N3期训练营DONE,ComfyUI中文社区@上海

作为主办方&#xff0c;我们非常高兴能够举办这次AIGC训练营&#xff0c;重点解决Comfyui的安装和入门。活动在下午1:30开始&#xff0c;在上海永兴仓库举行。 首先&#xff0c;我们向参与者介绍了本次活动的目的和安排&#xff0c;让大家对活动有一个清晰的认识。 接着&#x…

每周一算法:背包问题(三)多重背包

多重背包 有 N N N件物品和一个容量是 M M M的背包。第 i i i种物品最多有 s i s_i si​件&#xff0c;每件的体积是 v i v_i vi​&#xff0c;价值是 w i w_i wi​。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输…

Qt 如何操作SQLite3数据库?数据库创建和表格的增删改查?

# 前言 项目源码下载 https://gitcode.com/m0_45463480/QSQLite3/tree/main # 第一步 项目配置 平台:windows10 Qt版本:Qt 5.14.2 在.pro添加 QT += sql 需要的头文件 #include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include &…

Dockerfile脚本编写流程及示例

学习dockerfile指令 Dockerfile 指令 说明 FROM 指定基础镜像 MAINTAINER 声明镜像的维护者 LABEL 添加元数据标签 RUN 在容器中执行命令 CMD 容器启动后默认执行的命令 EXPOSE 暴露容器的端口 ENV 设置环境变量 ADD 将文件、目录或远程文件添加到容器中 COP…

以用户为中心的前端性能

1. 简介 前端性能跟用户体验息息相关。举个栗子&#xff0c;当你打开乘车码扫码进站&#xff0c;网页白屏了很久才加载出来&#xff0c;延误了乘车时间&#xff1b;当你在微信抢红包时&#xff0c;点击按钮后延迟了一会才开始转圈圈&#xff0c;最终没抢到红包。当出现这样的情…

医疗器械设备模组的具体应用

直线模组是一种高精度、高速度的精密传动元件&#xff0c;目前被广泛应用在各种工业自动化领域&#xff1b;尤其是在激光加工、电子制造、医疗设备、物流设备和机器人等行业中&#xff0c;都发挥着重要作用&#xff0c;接下来我们看看医疗器械设备模组的具体应用吧&#xff01;…