首页 > 其他分享 >LeetCode 113. 路径总和 II

LeetCode 113. 路径总和 II

时间:2023-05-19 21:56:41浏览次数:66  
标签:int res dfs II targetSum 113 path root LeetCode

题目链接:LeetCode 113. 路径总和 II

题意:

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

解题思路:

LeetCode 112. 路径总和相似,在遍历过程中,记录遍历过的每一个点即可。

递归法

递归代码:

var res [][]int
var path []int
func pathSum(root *TreeNode, targetSum int) [][]int {
    res = [][]int{}
    path = []int{}
    dfs(root,targetSum)
    return res

}
func dfs(root *TreeNode,targetSum int){
    if root == nil {
        return
    }
    path = append(path,root.Val)
    targetSum -= root.Val
    if root.Left == nil && root.Right == nil && targetSum == 0{
      
        // 注意这里不可以直接 res=append(res, path)
        var temp []int
        for _,v :=range path {
            temp = append(temp,v)
        }
        res=append(res, temp)
    }
    dfs(root.Left,targetSum)
    dfs(root.Right,targetSum)
    path = path[:len(path)-1]
    
}

标签:int,res,dfs,II,targetSum,113,path,root,LeetCode
From: https://www.cnblogs.com/lxing-go/p/17416399.html

相关文章

  • LeetCode 513. 找树左下角的值
    题目链接:LeetCode513.找树左下角的值题意:给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。解题思路:首先明确本题是要找最底层的最左边的节点,因此迭代法,可以采用层次遍历,res每次记录每一层的最左边的节点,当遍历结束时,res表示的就是最底层,最左边的节......
  • LeetCode/子数组的最小值之和
    给定一个整数数组arr,找到min(b)的总和,其中b的范围为arr的每个(连续)子数组。1.单调栈假如要遍历所有区间,哪怕可以直接获得最小值,时间复杂度也是O(n2)这里我们不逐个找对应区间,而是计算每个值对区间的贡献,可以将时间复杂度降到O(n)其实也就找遍历时当前值的左边界和右边界,在......
  • 记一次将 .netcore 项目用 IIS 进程调试
    环境:win10,VisualStudio2022 在.netframework年代,我们都习惯用iis进程调试代码。因为用F5调试代码效率太低下。现在.netcore时代,这种好习惯可不能丢。简单记录一下,我的操作过程。 1.首先用IIS挂载网站,看能不能把发布的好的网站跑起来2.其次用IIS增加网站,......
  • [LeetCode] 1079. Letter Tile Possibilities
    Youhave n  tiles,whereeachtilehasoneletter tiles[i] printedonit.Return thenumberofpossiblenon-emptysequencesofletters youcanmakeusingthelettersprintedonthose tiles.Example1:Input:tiles="AAB"Output:8Explanation:......
  • 海贝R2 II wifi与蓝牙冲突
    入手了这个海贝R2二代播放器后发现以下几点问题:1、蓝牙和wifi同时开启,会导致蓝牙出现问题,关不掉蓝牙也连不上蓝牙。需要重启机器直后再重新连接蓝牙。所以启用wifi的模式下,最好是连接有线耳机。2、如果在播放歌曲的时候打开录音机,此时机器会自动停止播放音乐,之后继续播放音乐会重......
  • LeetCode/完成任务的最少工作时间段
    一个工作时间段可以连续工作sessiontime个小时给你任务列表task,task[i]表示第i项任务花费时间求完成全部工作所需最小时间段(可以按任意顺序完成任务)1.回溯法回溯时按任务下标推进,边界条件为任务下标等于任务长度同时要记录回溯几个状态,分别是当前任务下标、已用时间段、各......
  • 二刷Leetcode-Days06
    二叉树:/***迭代法实现中序前序后序遍历*@paramroot*@return*/publicList<Integer>preorderTraversalIterator(TreeNoderoot){List<Integer>result=newArrayList<>();if(root==null){ret......
  • #yyds干货盘点# LeetCode程序员面试金典: 二叉树的层序遍历 II
    1.简述:给你二叉树的根节点root,返回其节点值自底向上的层序遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例1:输入:root=[3,9,20,null,null,15,7]输出:[[15,7],[9,20],[3]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]2.代码实现:classSolution......
  • leetcode-1207-easy
    UniqueNumberofOccurencesGivenanarrayofintegersarr,returntrueifthenumberofoccurrencesofeachvalueinthearrayisuniqueorfalseotherwise.Example1:Input:arr=[1,2,2,1,1,3]Output:trueExplanation:Thevalue1has3occurrences,......
  • leetcode-1013-easy
    PartitionArrayIntoThreePartsWithEqualSumGivenanarrayofintegersarr,returntrueifwecanpartitionthearrayintothreenon-emptypartswithequalsums.Formally,wecanpartitionthearrayifwecanfindindexesi+1<jwith(arr[0]+......