def get_min_path(root):
    """
    Finds the min path from root to leaf node in a binary tree

    Args:
        root: Root of the tree

    Returns: "min_path" -> the path with minimum sum from root to leaf

    >>> tree = Node(10,\
                left=Node(5,\
                          right=Node(2)),\
                right=Node(5,\
                           right=Node(1,\
                                      left=Node(-1))))
    >>> print(get_min_path(tree))
    [10, 5, 1, -1]
    >>> tree = Node(-1)
    >>> print(get_min_path(tree))
    [-1]

    """

    min_sum = float('inf')
    min_path = []

    def helper(root, curr_path=[]):
        nonlocal min_path
        if root.left:
            helper(root.left, curr_path + [root.data])

        if root.right:
            helper(root.right, curr_path + [root.data])

        if root.left is None and root.right is None:
            if sum(curr_path) < min_sum:
                min_path = curr_path + [root.data]
                # print(min_path)

    helper(root)
    return min_path