将两个有序的单链表合并成一个有序的单链表
时间: 2023-06-04 11:04:36 浏览: 115
实验一_有序单链表合并_
5星 · 资源好评率100%
好的,这是一个计算机科学问题,让我为您解答。合并两个有序的单链表可以使用双指针的方法,将两个链表中的元素逐一比较大小,插入到新的链表中。具体实现方法可以参考以下代码:
```
class Node:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def mergeTwoLists(l1: Node, l2: Node) -> Node:
# 创建一个dummy节点作为新链表的头节点
dummy = Node(0)
# 创建一个指针prev指向dummy节点
prev = dummy
# 循环比较两个链表中的元素大小,插入到新链表中
while l1 and l2:
if l1.val <= l2.val:
prev.next = l1
l1 = l1.next
else:
prev.next = l2
l2 = l2.next
# 新链表指针向后移动
prev = prev.next
# 链表l1或l2可能还有剩余的元素,直接接到新链表的尾部
if l1:
prev.next = l1
if l2:
prev.next = l2
# 返回新链表的头节点
return dummy.next
```
希望这个回答可以帮助您解决问题!
阅读全文