LeetCode:合并两个有序链表
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
if(l1==NULL) return l2;
if(l2==NULL) return l1;
struct ListNode* head=NULL;
if(l1->val<=l2->val)
{
head=l1;
l1=l1->next;
}
else
{
head=l2;
l2=l2->next;
}
struct ListNode* PCur=head;
while (l1!=NULL &&l2!=NULL)
{
if(l1->val<=l2->val)
{
PCur->next=l1;
//PCur=l1;
l1=l1->next;
}
else
{
PCur->next=l2;
//PCur=l2;
l2=l2->next;
}
PCur=PCur->next;
}
if(l1!=NULL) PCur->next=l1;
if(l2!=NULL) PCur->next=l2;
return head;
}