两个链表合并成一个链表头指针输出
时间: 2024-09-24 22:16:58 浏览: 30
PTA 两个有序链表序列的合并
将两个单链表合并成一个链表通常涉及到遍历和节点连接的操作。假设你有两个链表,`list1` 和 `list2`,你可以按照以下步骤完成这个任务:
1. **初始化**:创建一个新的链表头节点 `resultHead` 并设置它为 `None`,这将是合并后的链表的起点。
2. **遍历**:同时遍历两个链表。比较当前节点的值,将较小的节点添加到结果链表中,并更新该节点作为新的当前节点。如果其中一个链表到达了结尾,就直接将其剩余的节点添加到结果链表的末尾。
3. **连接**:当遍历完成后,`resultHead` 将指向合并后的链表的第一个节点。
以下是Python伪代码示例:
```python
def merge_sorted_lists(list1_head, list2_head):
# 初始化新链表
resultHead = None
if list1_head is not None and list2_head is not None:
# 如果两个链表都不为空
if list1_head.val < list2_head.val:
resultHead = list1_head
current = list1_head
else:
resultHead = list2_head
current = list2_head
while list1_head and list2_head:
if list1_head.val <= list2_head.val:
current.next = list1_head
list1_head = list1_head.next
else:
current.next = list2_head
list2_head = list2_head.next
current = current.next
# 将剩余未遍历完的部分追加到结果链表
if list1_head is not None:
current.next = list1_head
elif list2_head is not None:
current.next = list2_head
return resultHead
```
阅读全文