Advertisement
rishu110067

Untitled

Feb 23rd, 2022
1,050
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.86 KB | None | 0 0
  1.  
  2. def all_paths_sum_k(root, k):
  3.     """
  4.    Args:
  5.     root(BinaryTreeNode_int32)
  6.     k(int32)
  7.    Returns:
  8.     list_list_int32
  9.    """
  10.     # Write your code here.
  11.     if root is None:
  12.         return []
  13.     result = []
  14.     def dfs(node, target, slate):
  15.         ## base case - leaf node
  16.         if node.right is None and node.left is None:
  17.             if target == node.value:
  18.                 slate.append(node.value)
  19.                 result.append(slate[:])
  20.                 slate.pop()
  21.            
  22.         ## recursive case
  23.         slate.append(node.value)
  24.         if node.left is not None:
  25.             dfs(node.left, target-node.value, slate)
  26.         if node.right is not None:
  27.             dfs(node.right, target-node.value, slate)
  28.         slate.pop()
  29.    
  30.     dfs(root, k, [])
  31.     paths = [[-1]] if len(result) == 0 else result
  32.     return paths
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement