Hướng dẫn python remove last occurrence from list - python xóa lần xuất hiện cuối cùng khỏi danh sách

Thực sự không có gì sai với mã của bạn cả. Nó hoạt động, rõ ràng lý do tại sao nó hoạt động, thật khó để hiểu sai hoặc hiểu lầm.

Vâng, bạn có thể làm cho nó nhanh hơn, nhưng chỉ bởi một yếu tố không đổi. . Cũng sẽ là

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
0.] Và với chi phí làm cho nó phức tạp hơn.

Cách rõ ràng có lẽ nhanh hơn để làm điều đó là chỉ lặp bằng tay từ cuối cho đến khi chúng ta tìm thấy một giá trị, sau đó xóa giá trị đó. Điều đó cũng tránh phải đối phó với

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
2. Sử dụng
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
3 có thể giúp đỡ nhưng làm cho nó đúng [mà không sao chép toàn bộ] có thể rất khó khăn.

Vì vậy, hãy so sánh những thứ này với mã hiện tại của bạn, cả hai đã gói nó trong ____ 14/________ 15 và trong một

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6:

def f_rev_ex[xs, s]:
    xs.reverse[]
    try:
        xs.remove[s]
    except ValueError:
        pass
    xs.reverse[]

def f_rev_if[xs, s]:
    if s in xs:
        xs.reverse[]
        xs.remove[s]
        xs.reverse[]

def f_for[xs, s]:
    for i in range[len[xs]-1, -1, -1]:
        if s == xs[i]:
            del xs[i]
            break

def f_enum[xs, s]:
    for i, x in reversed[list[enumerate[xs]]]:
        if x == s:
            del xs[i]
            break

Đối với một danh sách nhỏ như của bạn, bài kiểm tra thậm chí không đáng để chạy, vì vậy tôi đã phát minh ra dữ liệu ngẫu nhiên của riêng mình [trong cuộc sống thực, tất nhiên là bạn phải biết dữ liệu của mình]:

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop

Chà, cái cuối cùng đó không phải là một ý tưởng rất hay, nhưng cái còn lại nhanh hơn khoảng 25% so với những gì chúng tôi bắt đầu. Vì vậy, chúng tôi đã lưu toàn bộ 9 micro giây, trên dữ liệu 4 đơn đặt hàng lớn hơn dữ liệu thực tế của bạn. Tùy thuộc vào bạn liệu điều đó có xứng đáng với mã không thể đọc được, dễ bị ảnh hưởng hơn hay không. .

Sử dụng các gợi ý, vòng lặp qua toàn bộ danh sách và theo dõi nút trước khi nút chứa khóa xuất hiện cuối cùng bằng cách sử dụng một con trỏ đặc biệt. Sau đó, chỉ cần lưu trữ phần tiếp theo của con trỏ đặc biệt, đến con trỏ đặc biệt tiếp theo để xóa nút cần thiết khỏi danh sách được liên kết.

Python3

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
4

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
9

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
7

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
4
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
7

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5 N2 N3__

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7 remove5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3 remove7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 remove9

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5 N2 N3__

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
13
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
17

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
35

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
37
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
43
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
45

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
47
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
53

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
55

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
70
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
82
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
83
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
4
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
7

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
70
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5 N2 N3__

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7 remove5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3 remove7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 remove9

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6 reverse9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5 N2 N3__

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
13
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
17

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
72
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
78

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
86
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
78

Output:

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 N3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Examples:  :  

Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
35

Python3

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
4

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
04

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
12

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
14
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
29
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
32

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
14
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
36

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
44
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
49
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
53

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
71

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
79
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
81

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
36

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
91

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
94
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
00

Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
01
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
86
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
04
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
37
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
47
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
12
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
15
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
16

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
99
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
022141

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
04
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
04
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2___

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
04
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2___

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Các

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Các

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
79
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
84
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
87

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
81
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
08
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
95
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
87

Output:  

Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10

Độ phức tạp về thời gian: O [n] trong đó n là số lượng nút trong danh sách được liên kết đã cho.AUXILIARY Không gian: O [1], không cần thêm không gian, vì vậy nó là một hằng số.O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.

Giải pháp trên không hoạt động khi nút bị xóa là nút cuối cùng. Giải pháp theo dõi xử lý tất cả các trường hợp. & NBSP;
Following solution handles all cases. 

Python3

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
9

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0____21
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
2
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
05

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
7
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
9

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
7

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
29
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
32

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
14
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
36

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
44
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
49
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
53

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
71

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
79
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
81

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
71

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
39
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
40
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
79
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
81

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
36

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
1
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
91

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
94
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69reverse51
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
32

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
7
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
82reverse64
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
84

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
Created Linked List: 
1  2  3  5  2  10 
Linked List after Deletion of 1: 
1  2  3  5  10
00

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8 reverse5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69reverse51
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
0
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
6
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
44
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
5
Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4
1

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
49
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
53

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
5
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
9
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
51
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
04
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
04
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
2
Input:   1->2->3->5->2->10, key = 2
Output:  1->2->3->5->10
3
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
38
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Các

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Các

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
01
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
72
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
78

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
99
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
8
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
81
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
26
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
68
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
69
Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
86
In [58]: xs = [random.choice[string.ascii_lowercase] for _ in range[10000]]
In [59]: %timeit y = x[:]; f_rev_ex[y, 'a']
10000 loops, best of 3: 34.7 µs per loop
In [60]: %timeit y = x[:]; f_rev_if[y, 'a']
10000 loops, best of 3: 35.1 µs per loop
In [61]: %timeit y = x[:]; f_for[y, 'a']
10000 loops, best of 3: 26.6 µs per loop
In [62]: %timeit y = x[:]; f_enum[y, 'a']
1000 loops, best of 3: 604 µs per loop
41

Created Linked list: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> 4 --> NULL
List after deletion of 4: 1 --> 2 --> 3 --> 4 --> 5 --> 4 --> NULL
78

Output:  

Created Linked List: 
 1  2  3  4  5  4  4 
Linked List after Deletion of 1: 
 1  2  3  4  5  4

Độ phức tạp về thời gian: O [n] trong đó n là số lượng nút trong danh sách được liên kết đã cho.AUXILIARY Không gian: O [1], không cần thêm không gian, vì vậy nó là một hằng số.O[n] where n is the number of nodes in the given linked list.
Auxiliary Space: O[1], no extra space is required, so it is a constant.

Vui lòng tham khảo hoàn thành bài viết về xóa lần xuất hiện cuối cùng của một mục từ danh sách được liên kết để biết thêm chi tiết!


Làm cách nào để loại bỏ sự xuất hiện cuối cùng của một danh sách trong Python?

Khoa học dữ liệu thực tế sử dụng Python..
Khởi tạo danh sách ..
Đảo ngược danh sách bằng phương pháp đảo ngược ..
Tìm chỉ mục của phần tử bằng phương thức chỉ mục ..
Chỉ số thực tế của phần tử là LEN [Danh sách] - INDEX - 1 ..
In chỉ số cuối cùng ..

Làm cách nào để loại bỏ 10 mục cuối cùng khỏi danh sách trong Python?

Sử dụng câu lệnh DEL với việc cắt danh sách để loại bỏ các yếu tố N cuối cùng khỏi danh sách, ví dụ:del my_list [len [my_list] - n:] Câu lệnh DEL sẽ xóa các phần tử n cuối cùng khỏi danh sách ban đầu., e.g. del my_list[len[my_list] - n:] The del statement will remove the last N elements from the original list.

Làm cách nào để loại bỏ một lần xuất hiện khỏi danh sách trong Python?

Phương thức pop [] loại bỏ một phần tử tại một chỉ mục nhất định và cũng sẽ trả về mục đã xóa.Bạn cũng có thể sử dụng từ khóa DEL trong Python để xóa một phần tử hoặc lát khỏi danh sách.pop[] method removes an element at a given index, and will also return the removed item. You can also use the del keyword in Python to remove an element or slice from a list.

Làm thế nào để bạn tìm thấy sự xuất hiện cuối cùng của một nhân vật trong một danh sách trong Python?

Phương thức rfind [] tìm thấy sự xuất hiện cuối cùng của giá trị được chỉ định.Phương thức rfind [] trả về -1 nếu không tìm thấy giá trị.rfind[] method finds the last occurrence of the specified value. The rfind[] method returns -1 if the value is not found.

Bài Viết Liên Quan

Chủ Đề