21. 合并两个有序链表c

/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
struct ListNode* root=NULL;
if(!list1) return list2;
if(!list2) return list1;
if(list1->val<list2->val){
root=list1;
root->next=mergeTwoLists(list1->next,list2);
}else{
root=list2;
root->next=mergeTwoLists(list1,list2->next);
}
return root;
}
结果:

浙公网安备 33010602011771号