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

力扣每日一题day37[113.路径总和ii]

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

叶子节点 是指没有子节点的节点。

示例 1:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
输出:[[5,4,11,2],[5,8,4,5]]

示例 2:

输入:root = [1,2,3], targetSum = 5
输出:[]

示例 3:

输入:root = [1,2], targetSum = 0
输出:[]

要遍历整个树,找到所有路径,所以递归函数不要返回值!

class solution {public list<list<integer>> pathsum(treenode root, int targetsum) {list<list<integer>> res = new arraylist<>();if (root == null) return res; // 非空判断list<integer> path = new linkedlist<>();preorderdfs(root, targetsum, res, path);return res;}public void preorderdfs(treenode root, int targetsum, list<list<integer>> res, list<integer> path) {path.add(root.val);// 遇到了叶子节点if (root.left == null && root.right == null) {// 找到了和为 targetsum 的路径if (targetsum - root.val == 0) {res.add(new arraylist<>(path));}return; // 如果和不为 targetsum,返回}if (root.left != null) {preorderdfs(root.left, targetsum - root.val, res, path);path.remove(path.size() - 1); // 回溯}if (root.right != null) {preorderdfs(root.right, targetsum - root.val, res, path);path.remove(path.size() - 1); // 回溯}}
}

http://www.lryc.cn/news/265107.html

相关文章:

  • Keras使用sklearn中的交叉验证和网格搜索
  • docker--Prometheus、Grafana、node_exporter的安装配置及Springboot集成Prometheus示例
  • 数据结构和算法笔记2:二分法
  • Mybatis3系列课程8-带参数查询
  • IDEA shorten command line介绍和JAR manifest 导致mybatis找不到接口类处理
  • 泽攸科技SEM台式扫描电子显微镜
  • 华为交换机配置BGP的基本示例
  • 数据分析基础之《numpy(4)—ndarry运算》
  • 分享一个项目——Sambert UI 声音克隆
  • ES6 语法精粹简读
  • uniapp整合echarts(目前性能最优、渲染最快方案)
  • 解决Electron应用中的白屏问题的实用方法
  • 大数据---34.HBase数据结构
  • 【工具使用-有道云笔记】如何在有道云笔记中插入目录
  • 用户管理第2节课-idea 2023.2 后端一删除表,从零开始---【本人】
  • 如何添加jar包到本地Maven项目中
  • 智能优化算法应用:基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【MATLAB第85期】基于MATLAB的2023年智能进化算法/元启发式算法合集(持续更新)
  • [Realtek sdk-3.4.14b]RTL8197FH-VG+RTL8812F WiFi使用功率限制功能使用说明
  • Vue中为什么data属性是一个函数而不是一个对象?(看完就会了)
  • Linux中一些知识积累(持续补充)
  • 内网渗透基础
  • 【2023年网络安全优秀创新成果大赛专刊】银行数据安全解决方案(天空卫士)
  • 嵌入式串口输入详细实例
  • springboot(ssm智慧生活商城系统 网上购物系统Java系统
  • Peter算法小课堂—贪心与二分
  • 搭建Vue前端项目的流程
  • 1.使用 Blazor 利用 ASP.NET Core 生成第一个 Web 应用
  • 如何入门 GPT 并快速跟上当前的大语言模型 LLM 进展?
  • 【pentaho】kettle读取Hive表不支持bigint和timstamp类型解决。