7-2 两个有序链表序列的交集 分数 20 全屏浏览题目 切换布局 作者 ds课程组 单位
时间: 2023-11-11 11:07:19 浏览: 130
2-两个有序链表序列的交集2
两个有序链表的交集可以通过遍历两个链表来实现。我们可以使用双指针法,分别指向两个链表的头节点,比较节点的值大小,如果相等则将该节点添加到结果链表中,并同时移动两个指针;如果不相等,则将值较小的节点所在的链表指针向后移动一位。重复这个过程,直到其中一个链表遍历完毕。
以下是一个示例代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def getIntersection(head1, head2):
dummy = ListNode(0)
curr = dummy
while head1 and head2:
if head1.val < head2.val:
head1 = head1.next
elif head1.val > head2.val:
head2 = head2.next
else:
curr.next = ListNode(head1.val)
curr = curr.next
head1 = head1.next
head2 = head2.next
return dummy.next
```
阅读全文