python 单链表的归并算法
时间: 2023-05-17 14:03:50 浏览: 159
单链表的归并算法可以使用递归来实现。具体步骤如下:
1. 如果两个链表中有一个为空,则直接返回另一个链表。
2. 比较两个链表头节点的值,将较小的节点作为合并后链表的头节点。
3. 递归调用归并函数,将较小节点的 next 指针指向剩余节点的合并结果。
4. 返回合并后的链表头节点。
以下是 Python 代码实现:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def mergeTwoLists(l1: ListNode, l2: ListNode) -> ListNode:
if not l1:
return l2
if not l2:
return l1
if l1.val < l2.val:
l1.next = mergeTwoLists(l1.next, l2)
return l1
else:
l2.next = mergeTwoLists(l1, l2.next)
return l2
```
该函数接受两个单链表作为参数,返回合并后的单链表。
阅读全文