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

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

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

5
             / \
            4   8
           /   / \
          11  13  4
         /  \    / \
        7    2  5   1
返回:

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

思路:dfs+回溯

提交的代码:

/**

* Definition for a binary tree node.

* public class TreeNode {

*     int val;

*     TreeNode left;

*     TreeNode right;

*     TreeNode(int x) { val = x; }

* }

*/

class Solution {

List<List<Integer>> result = new ArrayList<List<Integer>>();

List<Integer> list = new ArrayList<Integer>();

int count=0;

public void fun(TreeNode root, int sum)

{

if(count==sum&&root.left==null&&root.right==null)

{

result.add(new ArrayList<>(list));  //不能写result.add(list);因为list会改变,带动result也发生改变,需要复制一份到result

}

if(root.left!=null)

{

list.add(root.left.val);

count+=root.left.val;

fun(root.left,sum);

}

if(root.right!=null)

{

list.add(root.right.val);

count+=root.right.val;

fun(root.right,sum);

}

count-=list.get(list.size()-1);

list.remove(list.size()-1);

}

public List<List<Integer>> pathSum(TreeNode root, int sum) {

if(root!=null)

{

list.add(root.val);

count+=root.val;

fun(root,sum);

}

return result;

}

}

Leetcode--113. 路径总和Ⅱ相关推荐

  1. Java实现 LeetCode 113 路径总和 II

    113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = ...

  2. LeetCode——113 路径总和 II(JAVA)

    给你二叉树的根节点 root和一个整数目标和 targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 示例 1: 输入:root = [5, ...

  3. LeetCode 113. 路径总和 II(回溯)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉 ...

  4. leetcode 113. 路径总和 II

    难度:中等 频次:60 题目: 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 解 ...

  5. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)

    给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [5, ...

  6. leetcode 113. 路径总和 II(Path Sum II)

    目录 题目描述: 示例: 解法: 题目描述: 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及 ...

  7. Leetcode 113. 路径总和 II 解题思路及C++实现

    解题思路: 典型的深度优先搜索或回溯法的问题. /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNo ...

  8. LeetCode 112. 路径总和 、113. 路径总和 II 思考分析

    目录 112. 路径总和 题目 递归解 递归解,其他人的解法 迭代解,其他人的解法 113. 路径总和 II 题目 递归解 递归解,参考别人的思路 112. 路径总和 题目 给定一个二叉树和一个目标和 ...

  9. 113. 路径总和 II golang

    113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = ...

  10. C++描述 LeetCode 112. 路径总和

    C++描述 LeetCode 112. 路径总和   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更 ...

最新文章

  1. python名称由来_Python的由来与使用介绍
  2. 【正则表达式系列】一些概念(字符组、捕获组、非捕获组)
  3. 开源软件架构总结之——Asterisk(DSL、组件、多线程)
  4. YOLOV3 --BUG---No labels in D:\yolov5\train_data\train.cache. Can not train without labels.
  5. SSD: Signle Shot Detector 用于自然场景文字检测
  6. 【渝粤题库】国家开放大学2021春2094法理学题目
  7. unity快捷放置物体操作
  8. Block实现iOS回调
  9. JavaScript 基本类型的装箱与拆箱
  10. Ubuntu中使用pip3报错
  11. 2021年SWPUACM暑假集训day4KMP算法
  12. android实现弹出输入法时,顶部固定,中间部分上移的效果,使用 Dialog 制作紧贴输入法顶部的输入框...
  13. HTML5 Audio时代的MIDI音乐文件播放 .
  14. 一文介绍解银行卡验证api接口详情
  15. 微信QQ在线客服基本功能介绍
  16. Android免费离线文字转语言+讯飞语记
  17. Unrecognised input. Possibly missing opening ‘{‘
  18. python找零_python 找零问题 动态规划
  19. 2020上半年数据分析人才及CDA持证人行业报告
  20. 广播发射系统的安装调试维护——TFN T300F天馈线驻波比测试仪手持矢量网络分析仪

热门文章

  1. 漂亮的html页面源码_爬虫数据分析之html
  2. 2018年计算机CPU纳米制程,AMD发大招,推出7纳米制程CPU与GPU
  3. Python批量删除错误图片、修改文件名以及删除重复图片
  4. bootstrap 树形表格渲染慢_layUI之树状表格异步加载组件treetableAsync.js(基于treetable.js)...
  5. 文本分类实战技巧(tricks)汇总
  6. 纠删码存储系统中的投机性部分写技术
  7. 插件化、热补丁中绕不开的Proguard的坑
  8. 美团数据平台Kerberos优化实战
  9. Android官方开发文档Training系列课程中文版:连接无线设备之通过P2P搜索网络服务
  10. Pytorch 中 matmul 广播