美文网首页
75. LeetCode.113. 路径总和 II

75. LeetCode.113. 路径总和 II

作者: 月牙眼的楼下小黑 | 来源:发表于2019-02-24 15:49 被阅读5次
    • 标签:
    • 难度: 中等

    • 题目描述
    • 我的解法

    这道题结合了 LeetCode 112. 路径总和LeetCode 257. 二叉树的所有路径, 不难解决. 但是要注意个一个语法点: list 进行 append, insert 操作后,并不返回一个新对象. 例如在下面的代码中,我们希望结果是 [[1]], 但是运行结果却是 [None].

    b = []
    a = []
    b.append(a.append(1))
    print(b)
    

    分享一张刚刚看到的一张图,把我感动得劳泪涕横. 人一旦上了年纪,眼睛就容易进砖头.

    
    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def pathSum(self, root, sum):
            """
            :type root: TreeNode
            :type sum: int
            :rtype: List[List[int]]
            """
        
            result = []
            if not root:
                return result
            if not root.left and not root.right:
                if root.val == sum:
                    result.append([root.val])
                    return result
                else:
                    return result
        
            lefts = self.pathSum(root.left, sum - root.val)
            rights = self.pathSum(root.right, sum - root.val)
              
            for left in lefts:
                left.insert(0, root.val)
                result.append(left)
            for right in rights:
                right.insert(0,root.val)
                result.append(right)
            return result    
    
    • 其他解法

    暂略。

    相关文章

      网友评论

          本文标题:75. LeetCode.113. 路径总和 II

          本文链接:https://www.haomeiwen.com/subject/bcqbyqtx.html