📌  相关文章
📜  Python程序检查给定链表的长度是偶数还是奇数(1)

📅  最后修改于: 2023-12-03 14:46:46.944000             🧑  作者: Mango

Python程序检查给定链表的长度是偶数还是奇数

在Python中,可以使用以下方法来检查给定链表的长度是奇数还是偶数。首先,我们需要定义一个链表的类,然后创建一个链表对象,并添加一些节点。最后,我们使用一个函数来判断链表的长度。

链表的实现

首先,我们需要定义一个链表的类来表示链表及其操作。

class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def add_node(self, value):
        new_node = Node(value)
        if self.head is None:
            self.head = new_node
        else:
            current_node = self.head
            while current_node.next is not None:
                current_node = current_node.next
            current_node.next = new_node
检查链表的长度

接下来,我们定义一个函数来判断链表的长度是奇数还是偶数。

def check_length(linked_list):
    length = 0
    current_node = linked_list.head
    while current_node is not None:
        length += 1
        current_node = current_node.next
    if length % 2 == 0:
        return "链表的长度是偶数。"
    else:
        return "链表的长度是奇数。"
示例代码

下面是一个完整的示例代码,展示了如何使用上述链表类和函数来检查链表的长度是偶数还是奇数。

class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None

    def add_node(self, value):
        new_node = Node(value)
        if self.head is None:
            self.head = new_node
        else:
            current_node = self.head
            while current_node.next is not None:
                current_node = current_node.next
            current_node.next = new_node

def check_length(linked_list):
    length = 0
    current_node = linked_list.head
    while current_node is not None:
        length += 1
        current_node = current_node.next
    if length % 2 == 0:
        return "链表的长度是偶数。"
    else:
        return "链表的长度是奇数。"

# 创建链表对象并添加节点
my_linked_list = LinkedList()
my_linked_list.add_node(1)
my_linked_list.add_node(2)
my_linked_list.add_node(3)
my_linked_list.add_node(4)
my_linked_list.add_node(5)

# 检查链表的长度是奇数还是偶数
result = check_length(my_linked_list)
print(result)

以上代码将输出 "链表的长度是奇数。",因为链表的长度为5,是一个奇数。

希望上述示例能帮助你理解如何使用Python来检查给定链表的长度是奇数还是偶数。使用链表类和相应的函数,你可以轻松地进行链表操作和检查链表性质。