码迷,mamicode.com
首页 > 其他好文 > 详细

interview_prepare_binarytree

时间:2020-03-15 22:26:11      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:int   space   line   for   span   binary   ret   tar   bsp   

1.pathSum

 1 class TreeNode:
 2     def __init__(self,x):
 3         self.val=x
 4         self.left=None
 5         self.right=None
 6 
 7 
 8 class Solution:
 9     def dfs(self,root,target,path):
10         if(root.left==None and root.right==None and root.val+sum(path)==target):
11             self.res.append(path+[root.val])
12             return
13         
14         if(root.left):
15             self.dfs(root.left,target,path+[root.val])
16         
17         if(root.right):
18             self.dfs(root.right,target,path+[root.val])
19 
20     def pathSum_dfs(self,root,target):
21         self.res=[]
22         if(not root):
23             return []
24 
25         self.dfs(root,target,[])
26 
27         return self.res
28 
29 
30 
31 
32 root=TreeNode(5)
33 l11=TreeNode(4)
34 l12=TreeNode(8)
35 l21=TreeNode(11)
36 l23=TreeNode(13)
37 l24=TreeNode(4)
38 l31=TreeNode(7)
39 l32=TreeNode(2)
40 l35=TreeNode(5)
41 l36=TreeNode(1)
42 
43 root.left=l11
44 root.right=l12
45 l11.left=l21
46 l12.left=l23
47 l12.right=l24
48 l21.left=l31
49 l21.right=l32
50 l24.left=l35
51 l24.right=l36
52 
53 print(Solution().pathSum_dfs(root,22))

 

# 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 dfs(self,root,target,path):
        if(root.left==None and root.right==None and root.val+sum(path)==target):
            self.res.append(path+[root.val])
            return
        
        if(root.left):
            self.dfs(root.left,target,path+[root.val])
        
        if(root.right):
            self.dfs(root.right,target,path+[root.val])


    def pathSum(self, root, sum):
        self.res=[]
        if(not root):
            return []

        self.dfs(root,sum,[])

        return self.res

interview_prepare_binarytree

标签:int   space   line   for   span   binary   ret   tar   bsp   

原文地址:https://www.cnblogs.com/zijidan/p/12500314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!