(self, root, sum)
| 27 | |
| 28 | class Solution(object): |
| 29 | def pathSum(self, root, sum): |
| 30 | if not root: |
| 31 | return [] |
| 32 | if root.left == None and root.right == None: |
| 33 | if sum == root.val: |
| 34 | return [[root.val]] |
| 35 | else: |
| 36 | return [] |
| 37 | stack = [] |
| 38 | leftStack = self.pathSum(root.left, sum - root.val) |
| 39 | for i in leftStack: |
| 40 | i.insert(0, root.val) |
| 41 | stack.append(i) |
| 42 | rightStack = self.pathSum(root.right, sum - root.val) |
| 43 | for i in rightStack: |
| 44 | i.insert(0, root.val) |
| 45 | stack.append(i) |
| 46 | return stack |