. 1 # - * - Coding: UTF- . 8 - * - 2 # class the TreeNode: . 3 # DEF the __init __ (Self, X): . 4 # self.val = X . 5 # self.left = None . 6 # self.right = None . 7 class Solution: . 8 # returns the two-dimensional list, each list showing the internal path found . 9 DEF the __init __ (Self): 10 self.list = [] . 11 self.temp = [] 12 is 13 is DEF preOrder (Self, the 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