LeetCode:路径总和II【113】

题目描述

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

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

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

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

返回:

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

题目分析

  首先是一个深度搜索,来把所有根节点到叶子节点的路径找出来,然后各自判断是否等于目标值,等于目标值的路径加入结果集中。这种思路是没有问题的,我也很快就写出来了,但是我总觉得递归结束条件太过于简单,但是如果不到叶子节点而中途结束的话,就会忽略一些测试案列。比如到某一节点已经等于目标值,但它不是叶子节点,然而还有可能它的叶子节点值为0对吧,那这也是一条路径,不能忽略。

Java题解

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public List<List<Integer>> pathSum(TreeNode root, int sum) {List<List<Integer>> ans = new ArrayList<>();DFS(ans,new ArrayList<>(),root,sum,sum);return ans;}public void DFS(List<List<Integer>> ans,List<Integer> tmpList,TreeNode node,int sum,int remain){//递归结束条件if(node==null)return;//业务逻辑处理tmpList.add(node.val);remain=remain-node.val;if(remain==0&&node.left==null&&node.right==null){ans.add(tmpList);return;}DFS(ans,new ArrayList<>(tmpList),node.left,sum,remain);DFS(ans,new ArrayList<>(tmpList),node.right,sum,remain);}
}

  

转载于:https://www.cnblogs.com/MrSaver/p/9956598.html

LeetCode:路径总和II【113】相关推荐

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

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

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

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

  3. 113. 路径总和 II golang

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

  4. leetcode113. 路径总和 II

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

  5. 015.路径总和 路径总和II

    题目链接: 112. 路径总和 113. 路径总和 II 路径总和: 题目要求: 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum .如果存在,返回 ...

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

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

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

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

  8. leetcode 113. 路径总和 II

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

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

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

  10. 【Leetcode】113. 路径总和 II

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

最新文章

  1. 安装配置解压版Mysql方法
  2. 远程控制 vc++实现
  3. 柳传志给年轻人的建议:比起过日子,更要奔日子
  4. HDU 1492 The number of divisors(约数) about Humble Numbers
  5. bzoj1034题解
  6. Startup Error: Unable to detect graphics environment
  7. (转)CentOS 和 Ubuntu 下的网络配置
  8. python典型例题_经典动态规划例题整理(Python版)
  9. solidworks模板文件_教你如何快速制作工程图模板
  10. 部分商誉确认法和全部商誉确认法
  11. linux heartbeat rpm,[原]Heartbeat 3.0.3 介绍及rpm
  12. 世界观--哲学--抽象--虚无
  13. kprobe 的 3 种使用
  14. 从数学计算上分析人脑与电脑差异
  15. 饼图加引导线_如何在饼形图中添加引导线(Excel)/
  16. 计算机默认的dns地址怎么找,怎么设置电脑的IP地址与DNS地址
  17. P2495 [SDOI2011]消耗战-虚树+树形dp
  18. 酒店管理软件测试用例,酒店管理系统-测试用例.pdf
  19. 51单片机与SIM800LGSM模块联合,作为安防终端
  20. 手感虽重要,工具更可靠|SunTorque智能扭矩系统

热门文章

  1. fast recovery area oracle,oracle Fast Recovery Area的管理
  2. java矩形类_Java定义矩形类
  3. Linux 命令之 nohup 后台运行程序,tail 实时查看文件内容
  4. ProcessBuilder 创建操作系统进程
  5. 微信支付金额为0.01分报错,和少一分钱的解决办法
  6. 阶段3 1.Mybatis_02.Mybatis入门案例_2.mybatis入门案例中的设计模式分析
  7. offset,client,scroll的学习记录
  8. Java Socket总结
  9. python 根据字符串语句进行操作再造函数(evec和eval方法)
  10. 在SharePoint 2010中创建联系人Web数据库网站