Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra độ dài linked list chẵn hay lẻ trong Python

Cho linked list. Kiểm tra độ dài của nó là chẵn hay lẻ.

Ví dụ: head=[5,8,7,4,3,6,4,5,8] → Odd (9 phần tử).

Thuật toán

  • Dùng con trỏ nhảy 2 bước: while head and head.next: head = head.next.next.
  • Nếu head thành None → độ dài chẵn (Even).
  • Ngược lại → lẻ (Odd).

Ví dụ code

class ListNode:
    def __init__(self, data, next=None):
        self.val = data
        self.next = next

def make_list(elements):
    head = ListNode(elements[0])
    for element in elements[1:]:
        ptr = head
        while ptr.next:
            ptr = ptr.next
        ptr.next = ListNode(element)
    return head

def solve(head):
    while head and head.next:
        head = head.next.next
    if head is None:
        return "Even"
    return "Odd"

head = make_list([5,8,7,4,3,6,4,5,8])
print(solve(head))

Đầu vào

[5,8,7,4,3,6,4,5,8]

Đầu ra

Odd