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

【Leetcode】Path Sum II

题目:

Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.

For example:
Given the below binary tree and  sum = 22 ,
              5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1

return

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

解题思路:用DFS算法进行搜索,搜索到叶子节点并且路径和等于设定值时,将路径存入容器。


代码:

/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<vector<int> > pathSum(TreeNode *root, int sum) {
        vector<vector<int>> Path;
        vector<int> CurrPath;
        build_path(Path, CurrPath, root, sum);
        return Path;
    }
private:
    void build_path(vector<vector<int>> &Path,vector<int> &CurrPath, TreeNode *root, int sum){
        if(!root)return;
        CurrPath.push_back(root->val);
        if(!root->left&&!root->right){
            if(root->val==sum)Path.push_back(CurrPath);
        }else{
            build_path(Path,CurrPath,root->left,sum-root->val);
            build_path(Path,CurrPath,root->right,sum-root->val);
        }
        CurrPath.pop_back();
    }
};


转载于:https://www.cnblogs.com/ussam/p/3623898.html

相关文章:

  • docker学习笔记
  • 3、开启debug调试模式
  • 为什么BAT公司使用微服务架构,资深架构师来告诉你原因!
  • mysql学习【第4篇】:数据库之数据类型
  • python字典操作总结
  • hadoop Hive(9)
  • 启动和测试oracle是否安装成功
  • Java初始化顺序
  • linux 生成随机密码
  • 线程创建
  • 测者的测试技术手册:智能化测试框架EvoSuite的一个坑以及填坑方法
  • cookie和session
  • Android EditText控件自动转换大小写,光标位置不跳位
  • Android aidl Binder框架浅析
  • 4.8_获取页面元素的内容_getTable
  • Angular 响应式表单 基础例子
  • js对象的深浅拷贝
  • js算法-归并排序(merge_sort)
  • Lsb图片隐写
  • npx命令介绍
  • Rancher-k8s加速安装文档
  • react 代码优化(一) ——事件处理
  • 构建工具 - 收藏集 - 掘金
  • 机器学习 vs. 深度学习
  • 聚类分析——Kmeans
  • 每天10道Java面试题,跟我走,offer有!
  • 前端技术周刊 2019-02-11 Serverless
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 算法系列——算法入门之递归分而治之思想的实现
  • 应用生命周期终极 DevOps 工具包
  • 昨天1024程序员节,我故意写了个死循环~
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (02)vite环境变量配置
  • (2020)Java后端开发----(面试题和笔试题)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (办公)springboot配置aop处理请求.
  • (二)springcloud实战之config配置中心
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)Unity3DUnity3D在android下调试
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .NET : 在VS2008中计算代码度量值
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net framework profiles /.net framework 配置
  • .NET 常见的偏门问题
  • .NET 的程序集加载上下文
  • .net6使用Sejil可视化日志
  • .NET分布式缓存Memcached从入门到实战
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)