def check_puzzle_list(lst, n):
    """
    Checks a puzzle one dimensional list and validates it.

    lst : The list to be validated.
    n : Puzzle type (n-puzzle).

     Returns True of it's fine and False if it's not valid.
    """
    # Check list's length
    if len(lst) != n + 1:
        return False

    lst = lst[:]

    lst = [0 if x == '' else x for x in lst]

    # Generate a new list containing numbers from 0 to n
    #   and then check if the list has all of those numbers in it
    new_lst = [i for i in range(0, n + 1)]
    for lst_item in new_lst:
        try:
            lst.remove(lst_item)
        except ValueError:
            return False

    if len(lst) != 0:
        return False

    return True