"""
Unit 2 Review
"""


#[1, 2, 3] - > [1, | 2, 3, 3, 2, | 1]

#1 [2, 3] -> [2, 3, 3, 2]

def mirrorList(lst):
    if lst == []:
        return ""
    else:
        firstElem = lst[0] # 1
        result = mirrorList(lst[1:]) # [2, 3, 3, 2]
        return firstElem + result + firstElem # [1, 2, 3, 3, 2, 1 ]

# [1,2,3] -> [1] + [2,3,3,2] + [1] -> [1,2,3,3,2,1]
    # [2,3] -> [2] + [3,3] + [2] -> [2,3,3,2]
        # [3] -> [3] + [] + [3] -> [3,3]
            # [] -> []

###

def getPastGen(t, n):
    if n == 0:
        return [ t["contents"] ]
    elif t["left"] == None and t["right"] == None:
        return None
    else:
        leftResult = getPastGen(t["left"], n-1) # ["Ned"]
        rightResult = getPastGen(t["right"], n-1) # ["Catelyn"]
        print("left:", leftResult)
        print("right:", rightResult)
        if leftResult == None:
            return rightResult
        elif rightResult == None:
            return leftResult
        return leftResult + rightResult

familyTree = {
"contents" : "Arya",
        "left" : { "contents" : "Ned",
        "left" : { "contents" : "Rickard",
        "left" : None, "right" : None },
        "right" : { "contents" : "Lyarra",
        "left" : None, "right" : None } },
        "right" : { "contents" : "Catelyn",
        "left" : None,
        "right" : None } }
