两个有序链表序列的交集pta
时间: 2024-01-07 21:05:58 浏览: 197
【PTA数据结构】7-2 两个有序链表序列的合并.txt
两个有序链表序列的交集可以通过双指针法来求解。假设两个链表分别为list1和list2,我们可以使用两个指针指向list1和list2的头节点,并逐个比较节点的值。如果节点值相等,则将该值添加到结果列表中,并将两个指针都向后移动一位。如果节点值不相等,则将值较小的指针向后移动一位。直到其中一个链表遍历完毕,即可得到两个有序链表序列的交集。
下面是一个示例代码:
```python
def findIntersection(list1, list2):
ptr1, ptr2 = list1.head, list2.head
result = []
while ptr1 and ptr2:
if ptr1.val == ptr2.val:
result.append(ptr1.val)
ptr1 = ptr1.next
ptr2 = ptr2.next
elif ptr1.val < ptr2.val:
ptr1 = ptr1.next
else:
ptr2 = ptr2.next
return result
```
阅读全文