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

【leetcode热题】路径总和 II

  • 难度: 中等
  • 通过率: 38.7%
  • 题目链接:. - 力扣(LeetCode)

题目描述

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

说明: 叶子节点是指没有子节点的节点。

示例:
给定如下二叉树,以及目标和 sum = 22

              5/ \4   8/   / \11  13  4/  \    / \7    2  5   1

返回:

[[5,4,11,2],[5,8,4,5]
]

解法:深度优先遍历

在遍历过程中记录下当前走过的路径,如果路径之和等于目标值,且当前节点为叶子节点,那么将当前路径插入结果中。

深度优先遍历采用递归的写法,可以使用单个容器记录下当前的路径。进入节点时,在路径中插入节点,退出节点时,删除节点。

class Solution {
public:vector<vector<int>> pathSum(TreeNode* root, int sum) {vector<vector<int>> ret;vector<int> path;dfs(root, path, sum, ret);return ret;}void dfs(TreeNode* node, vector<int>& path, int remain, vector<vector<int>>& ret){if(node == nullptr){return;}remain -= node->val;path.push_back(node->val);if(node->left == nullptr && node->right == nullptr && remain == 0){ret.push_back(path);}dfs(node->left, path, remain, ret);dfs(node->right, path, remain, ret);path.pop_back();}
};
http://www.lryc.cn/news/305007.html

相关文章:

  • ChatGPT在数据处理中的应用
  • 微服务-Alibaba微服务nacos实战
  • Linux Driver | 设备树开发之初识设备树
  • 2月24日(周六)比赛前瞻:曼联 VS 富勒姆、拜仁 VS 莱比锡
  • React18源码: task任务调度和时间分片
  • 【工具类】阿里域名关联ip(python版)
  • STM32自学☞输入捕获测频率和占空比案例
  • [yolov9]使用python部署yolov9的onnx模型
  • ShellExecute的用法
  • 蓝桥杯:递增三元组
  • 目标检测卷王YOLO卷出新高度:YOLOv9问世
  • 华为---RSTP(二)---RSTP基本配置示例
  • 【Python笔记-设计模式】装饰器模式
  • 二十八、图像的高斯模糊操作
  • 开源分子对接程序rDock的安装及使用流程
  • 【JavaEE】_tomcat的安装与使用
  • 实现一个Windows环境一键启停Oracle的bat脚本
  • 大数据-数据可视化-环境部署vue+echarts+显示案例
  • spark超大数据批量写入redis
  • C# Socket的使用
  • Spring Cloud + Vue前后端分离-第17章 生产打包与发布
  • 力扣热题100_普通数组_56_合并区间
  • Springcloud OpenFeign 的实现(二)
  • [C++]智能指针用法
  • 六、行列式基本知识
  • 中断系统(详解与使用)
  • uniapp开发微信小程序跳转到另一个小程序中
  • chatGPT 使用随想
  • unity Aaimation Rigging使用多个约束导致部分约束失去作用
  • 什么是ChatGPT