剑指offer25 . 合并两个排序的链表 P145
每次比较两个链表表头,那个小,哪个就是当前节点mergeHead,然后把剩下的链表继续合并,找这个mergeHead的下一个节点。
ListNode
* mergeSortedLinkedList(ListNode
*head1
, ListNode
*head2
) {
if (head1
== NULL) return head2
;
if (head2
== NULL) return head1
;
ListNode
*mergeHead
= NULL;
if (head1
-> key
< head2
-> key
) {
mergeNode
= head1
;
mergeNode
-> next
= mergeSortedLinkedList(head1
-> next
, head2
);
} else {
mergeNode
= head2
;
mergeNode
-> next
= mergeSortedLinkedList(head1
, head2
-> next
);
}
return mergeNode
;
}
转载请注明原文地址: https://mac.8miu.com/read-504723.html