Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2) {
struct ListNode* L;
L=malloc(sizeof(struct ListNode));
L->val=0;
struct ListNode* L3=L;
while(l1&&l2){
if(l1->val>=l2->val){
L3->next=l2;
l2=l2->next;
}
else{
L3->next=l1;
l1=l1->next;
}
L3=L3->next;
}
L3->next=l1?l1:l2;
return (L->next);
}