
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
struct ListNode* ps=( struct ListNode*)malloc(sizeof(struct ListNode));
struct ListNode* tmp=ps;
if(list1==NULL)
return list2;
if(list2==NULL)
return list1;
while(list1&&list2)
{
if(list1->val<=list2->val)
{
tmp->next=list1;
list1=list1->next;
}
else
{
tmp->next=list2;
list2=list2->next;
}
tmp=tmp->next;
}
if(list1==NULL)
{
tmp->next=list2;
}
if(list2==NULL)
{
tmp->next=list1;
}
return ps->next;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31