Example #1
0
            node2 = node2.next
        new_n = new_n.next
    if node1:
        new_n.next = node1
    if node2:
        new_n.next = node2
    return pre_h.next


if __name__ == '__main__':
    nums_reverse = [4, 3, 7, 9]
    answer_nums = [9, 7, 3, 4]
    h_reverse = Node.init_list(nums_reverse)
    sol_reverse = reverse_linked_list(h_reverse)
    answer_reverse = Node.init_list(answer_nums)
    assert Node.compare(sol_reverse, answer_reverse) is True, 'Func reverse_linked_list failed'
    print('Func reverse_linked_list success')

    nums_cycle = [4, 3, 7, 9]
    answer = True
    h_cycle = Node.init_list(nums_cycle)
    h_cycle.next.next.next = h_cycle.next.next
    sol_cycle = has_cycle(h_cycle)
    assert sol_cycle is answer, 'has_cycle failed'
    print('Func has_cycle success')

    nums1_sorted = [1, 5, 7, 9]
    nums2_sorted = [2, 4, 8, 11]
    h1_sorted = Node.init_list(nums1_sorted)
    h2_sorted = Node.init_list(nums2_sorted)
    sol_sorted = merge_two_sorted_list(h1_sorted, h2_sorted)