【剑指offer】034.二叉树中和为某一值的路径

【剑指offer】034.二叉树中和为某一值的路径,第1张

题目

【剑指offer】034.二叉树中和为某一值的路径

解法

DFS。但是这里要注意python的一些特性。
python传参传对象,可变对象可变,不可变对象不可变

class Solution:
    def pathSum(self, root: TreeNode, target: int) -> List[List[int]]:
        res, cur = [], []
        def dfs(root, tar):
            if not root: return 
            cur.append(root.val)
            if root.left is None and root.right is None and root.val==tar:
                res.append(list(cur)) # 这个域里,要用list()将cur转成值,不然,cur是一个可变对象,后面cur变化,res也会变
            else:
                dfs(root.left, tar-root.val)
                dfs(root.right, tar-root.val)
            cur.pop(-1)
        dfs(root, target)
        return res

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/714696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存