给出将两个单项链表 L 和 M 合并成一个新的单项链表 L’ 的算法,只给出每个列表的第一个头结点的引用,链表 L’ 包括 L 和 M 的所有节点,且所有来自M的节点都在L的节点之后。(含有头、尾哨兵情形又如何?)
时间: 2023-05-29 20:07:25 浏览: 30
3-2 试编写一个算法,在带表头结点的单链表中寻找第i个结点.doc
1. 遍历链表 L,找到最后一个节点,将其 next 指针指向链表 M 的第一个节点。
2. 返回链表 L 的头结点。
含有头、尾哨兵的情况下,步骤 1 和 2 的代码如下:
```python
def merge_lists_with_sentinel(head_l, head_m):
tail_l = head_l
while tail_l.next:
tail_l = tail_l.next
tail_l.next = head_m.next
return head_l
```
阅读全文