Append Link

Write a function in Python that mutates a linked list, lnk1, so that another linked list lnk2 is appended onto the end of it.

def append_link(lnk1, lnk2):
    """
    >>> lnk = Link(1, Link(2))
    >>> append_link(lnk, Link(3, Link(4)))
    >>> lnk
    Link(1, Link(2, Link(3, Link(4))))
    """

    # Your Code Here
Toggle Solution
def append_link(lnk1, lnk2):
    if lnk1.rest is Link.empty:
        lnk1.rest = lnk2
    append_link(lnk1.rest, lnk2)

For this particular problem, what we want to do is traverse lnk1 until we get to the end, and then attach lnk2 onto that somehow. That's how we get the recursive case - if we haven't gotten to the end of lnk1 yet, we should recurse to make our way down the Linked list.

Once we're there though, we actually want to append lnk2. We can do this by setting lnk1.rest (which is Link.empty by this point) to lnk2.

results matching ""

    No results matching ""