当前位置: 首页 > news >正文

二叉树中和为某一值的路径(二)

 

import java.util.*;

/**

public class TreeNode {

int val = 0;

TreeNode left = null;

TreeNode right = null;

public TreeNode(int val) {

this.val = val;

}

}

*/

public class Solution {

//初始化集合

ArrayList res = new ArrayList<>();

LinkedList path = new LinkedList<>();

public ArrayList FindPath(TreeNode root, int target) {

dfs(root, target);

return res;

}

public void dfs(TreeNode root, int tar) {

if (root == null) {

return;

}

//将root节点放入路径集合

path.add(root.val);

//更新目标值,每放入一个节点,目标值应该相应减去对应节点的值,直到目标值为0

tar -= root.val;

//如果目标值减到了0 && 左节点为空 && 右节点为空 证明树已遍历完,此路径为目标路径

if (tar == 0 && root.left == null && root.right == null) {

res.add(new ArrayList(path));

}

// 递归左右子树

dfs(root.left, tar);

dfs(root.right, tar);

//删除当前节点,在回溯过程中,此节点不在新路径上

path.removeLast();

}

}

相关文章:

  • 面向对象的设计(OOD)原则了解一下
  • <1> c++ 笔记 stl::map
  • 怎样才算精通 Excel?超详细讲解!
  • 3.3Docker网络模式与资源控制
  • 【元宇宙欧米说】一个科幻 NFT,一场关于创作者经济的探索
  • 3.1虚拟化和安装Docker
  • 讲价 数学问题
  • Qt官方示例学习目录
  • 【下班神器】python写自动关机程序并打包成exe文件
  • SQL 改写系列十:半连接转内连接
  • 根据上下级关系统计数据
  • 金仓数据库KingbaseES客户端编程开发框架-Hibernate Spatial(2. 概述)
  • 第二十三章 多线程(一)
  • mysql的常见的外键约束
  • React基础-JSX语法介绍
  • 2018一半小结一波
  • Java到底能干嘛?
  • k8s如何管理Pod
  • Material Design
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • uva 10370 Above Average
  • 创建一种深思熟虑的文化
  • 讲清楚之javascript作用域
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 设计模式走一遍---观察者模式
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 移动端 h5开发相关内容总结(三)
  • Nginx实现动静分离
  • 关于Android全面屏虚拟导航栏的适配总结
  • #android不同版本废弃api,新api。
  • #Lua:Lua调用C++生成的DLL库
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (C语言)fgets与fputs函数详解
  • (LeetCode 49)Anagrams
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (循环依赖问题)学习spring的第九天
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)为C# Windows服务添加安装程序
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .Net 知识杂记
  • .NET下的多线程编程—1-线程机制概述
  • .NET中GET与SET的用法
  • .net中的Queue和Stack
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /*在DataTable中更新、删除数据*/
  • @RestController注解的使用
  • [ C++ ] STL_list 使用及其模拟实现
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [2]十道算法题【Java实现】
  • [20171113]修改表结构删除列相关问题4.txt
  • [BZOJ3757] 苹果树
  • [c++] 自写 MyString 类
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]