···
/
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode next;
* ListNode(int x) : val(x), next(NULL) {}
* };
/
class Solution {
public:
ListNode merge(ListNode l1, ListNode l2) {
// 创建一个虚拟头节点,简化链表操作
ListNode dummy = new ListNode(0);
ListNode* curr = dummy;
while (l1 && l2) {
if (l1->val <= l2->val) {
curr->next = l1;
l1 = l1->next;
} else {
curr->next = l2;
l2 = l2->next;
}
curr = curr->next;
}
// 将剩余链表部分连接到合并链表的末尾
if (l1)
curr->next = l1;
else if (l2)
curr->next = l2;
// 返回合并后的链表头节点
ListNode* mergedList = dummy->next;
delete dummy;
return mergedList;
}
};
···