コード例 #1
0
def deletion_from_list(node_to_delete: ListNode) -> None:
    if not node_to_delete:
        return None

    nachste = node_to_delete.next
    node_to_delete.data = nachste.data
    node_to_delete.next = nachste.next
コード例 #2
0
def merge_two_sorted_lists(L1: Optional[ListNode],
                           L2: Optional[ListNode]) -> Optional[ListNode]:
    result = None
    resultHead = None
    print(f"L1 is {L1}")
    print(f"L2 is {L2}")
    currL1 = L1
    currL2 = L2
    while currL1 and currL2:
        currNode = ListNode()
        # populate data based on lower
        if currL1.data <= currL2.data:
            currNode.data = currL1.data
            currL1 = currL1.next
        else:
            currNode.data = currL2.data
            currL2 = currL2.next

        # set the currNode in result list
        if result == None:
            result = resultHead = currNode

        else:
            result.next = currNode
            result = result.next

    # if L1 has reached end then print everything in l2 and viceversa
    if result != None:
        if currL1 == None:
            result.next = currL2
        elif currL2 == None:
            result.next = currL1
    else:
        if currL1 == None:
            return currL2
        elif currL2 == None:
            return currL1
    print(f"Result is {resultHead}")
    return resultHead
コード例 #3
0
def deletion_from_list(node_to_delete: ListNode) -> None:
    # TODO - you fill in here.
    node_to_delete.data = node_to_delete.next.data
    node_to_delete.next = node_to_delete.next.next

    return
コード例 #4
0
def deletion_from_list(node_to_delete: ListNode) -> None:
    next_node_data = node_to_delete.next.data
    node_to_delete.next = node_to_delete.next.next
    node_to_delete.data = next_node_data
    return
コード例 #5
0
def delete_from_list(node_to_delete: ListNode):
    node_to_delete.data = node_to_delete.next.data
    node_to_delete.next = node_to_delete.next.next