剑指Offer 34

 1 # -*- coding:utf-8 -*-
 2 # class TreeNode:
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.left = None
 6 #         self.right = None
 7 class Solution:
 8     # 返回二维列表,内部每个列表表示找到的路径
 9     def __init__(self):
10         self.list = []
11         self.temp = []
12         
13     def preOrder(self,root,expectNumber):
14         if root != None:
15             self.temp.append(root.val)
16             self.preOrder(root.left,expectNumber)
17             self.preOrder(root.right,expectNumber)
18             if root.left == None and root.right == None:
19                 sums = sum(self.temp)
20                 if sums == expectNumber:
21                     self.list.append(self.temp[:])
22             self.temp.pop(-1)
23     def FindPath(self, root, expectNumber):
24         self.preOrder(root,expectNumber)
25         self.list = sorted(self.list,key=lambda l:-len(l))
26         return self.list
27         # write code here

猜你喜欢

转载自www.cnblogs.com/asenyang/p/11014082.html