113. 路经总和II
问题描述
https://leetcode.cn/problems/path-sum-ii/description/
解题思路
首先,我们设置一个容器存储最终的结果。
其次,我们在遍历过程中,更新数组。
然后,在叶子结点处判断是否加入。
代码
# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def pathSum(self, root: Optional[TreeNode], targetSum: int) -> List[List[int]]: res = [] def dfs(root, targetSum, tmp_li): t_copy = tmp_li[:] if root is None: return t_copy.append(root.val) if root.left is None and root.right is None and targetSum == root.val: res.append(t_copy) dfs(root.left, targetSum-root.val, t_copy) dfs(root.right, targetSum-root.val, t_copy) dfs(root, targetSum, []) return res
2024二刷:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def pathSum(self, root: Optional[TreeNode], targetSum: int) -> List[List[int]]: if root is None: return [] self.res = [] self.dfs(root, targetSum, []) return self.res def dfs(self, root, targetSum, last): if root.left is None and root.right is None: if targetSum == root.val: last.append(root.val) self.res.append(last) return last.append(root.val) if root.left: self.dfs(root.left, targetSum-root.val, last[:]) if root.right: self.dfs(root.right, targetSum-root.val, last[:])
分类:
leetcode中等题
, leetcode-深度优先搜索
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律