编写合并函数将两个单链表合成一个单链表
时间: 2023-06-02 20:03:26 浏览: 105
好的,让我来帮您解答第一个问题。以下是合并两个单链表的示例代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def mergeTwoLists(l1: ListNode, l2: ListNode) -> ListNode:
dummy = ListNode(0)
cur = dummy
while l1 and l2:
if l1.val < l2.val:
cur.next = l1
l1 = l1.next
else:
cur.next = l2
l2 = l2.next
cur = cur.next
cur.next = l1 if l1 else l2
return dummy.next
```
这段代码定义了一个`ListNode`类和一个合并函数`mergeTwoLists`,其中输入参数为两个链表`l1`和`l2`,输出为合并后的链表。我们创建一个哑节点`dummy`,并使用一个`cur`指针遍历两个输入链表。通过比较当前指针所指节点的值,将较小的节点加入到新链表中,并将指针向后移动。最后将剩余链表的节点连接到新链表的尾部即可。
希望我的回答能够帮助到您!
阅读全文