• Leetcode 113. Path Sum II


    递归时要记录路径.

    过程中遇到一个小问题,这两句:

    a.insert(0,root.val)
    ans.append(a)

    一开始写成了这样:

    ans.append(a.insert(0,root.val))

    得到WrongAnswer.

    因为a.insert()这个函数完成后不会返回任何值(None).

    # 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]]
            """
            if not root:
                return []
            
            ans=[]
            if (not root.left)&(not root.right):
                if root.val==sum:
                    ans.append([root.val])
                return ans
            elif not root.right:
                ans_left=self.pathSum(root.left,sum-root.val)
                if ans_left:
                    for a in ans_left:
                        if a:
                            a.insert(0,root.val)
                            ans.append(a)
                return ans
            elif not root.left:
                ans_right=self.pathSum(root.right,sum-root.val)
                if ans_right:
                    for a in ans_right:
                        if a:
                            a.insert(0,root.val)
                            ans.append(a)
                return ans
            else:
                ans_left=self.pathSum(root.left,sum-root.val)
                if ans_left:
                    for a in ans_left:
                        if a:
                            a.insert(0,root.val)
                            ans.append(a)
                ans_right=self.pathSum(root.right,sum-root.val)
                if ans_right:
                    for a in ans_right:
                        if a:
                            a.insert(0,root.val)
                            ans.append(a)
                return ans
  • 相关阅读:
    BZOJ1316 树上的询问
    BZOJ2599 IOI2011Race
    BZOJ2594 [Wc2006]水管局长数据加强版
    BZOJ3052 [wc2013] 糖果公园 【树上莫队】
    BZOJ4530 BJOI 2014 大融合
    QTREEⅠ SPOJ
    BZOJ 3514: Codechef MARCH14 GERALD07加强版 [LCT 主席树 kruskal]
    BZOJ3669 NOI2014魔法森林
    BZOJ2002 弹飞绵羊
    BZOJ1878 [SDOI2009]HH的项链
  • 原文地址:https://www.cnblogs.com/zywscq/p/10504071.html
Copyright © 2020-2023  润新知