python中比较两个链表的长度
时间: 2023-08-14 08:08:02 浏览: 70
要比较两个链表的长度,可以遍历链表并计数节点的数量。以下是一个示例代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def get_length(head):
length = 0
current = head
while current:
length += 1
current = current.next
return length
def compare_lists_length(list1, list2):
length1 = get_length(list1)
length2 = get_length(list2)
if length1 > length2:
return "List 1 is longer"
elif length1 < length2:
return "List 2 is longer"
else:
return "Both lists have the same length"
# 示例用法
# 创建链表 1: 1 -> 2 -> 3 -> None
list1 = ListNode(1)
list1.next = ListNode(2)
list1.next.next = ListNode(3)
# 创建链表 2: 4 -> 5 -> None
list2 = ListNode(4)
list2.next = ListNode(5)
print(compare_lists_length(list1, list2)) # 输出 "List 1 is longer"
```
在上述示例中,我们定义了一个 `ListNode` 类来表示链表的节点。`get_length` 函数用于获取给定链表的长度。`compare_lists_length` 函数使用 `get_length` 函数来比较两个链表的长度,并返回相应的结果。最后,我们创建了两个示例链表并调用 `compare_lists_length` 函数进行比较。