您的位置:首页 > 其它

LeetCode 21. Merge Two Sorted Lists

2018-07-16 16:30 183 查看

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.

Example:

[code]Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4

第一次做有关链表题目,战战兢兢。

[code]ListNode* mergeTwoLists(ListNode* l1, ListNode* l2)
{
if(l1==NULL&&l2==NULL)
return l1;
else if(l1!=NULL&&l2==NULL)
return l1;
else if(l2!=NULL&&l1==NULL)
return l2;
ListNode *l=new ListNode(0);
if(l1->val<l2->val)
{
l->val=l1->val;
cout<<l1->val<<endl;
cout<<l->val<<endl;
l1=l1->next;
}
else
{
l->val=l2->val;
l2=l2->next;
}
ListNode *ll=l;
while(l1!=NULL&&l2!=NULL)
{
if(l1->val<l2->val)
{
ListNode *la=new ListNode(l1->val);
ll->next=la;
ll=la;
l1=l1->next;
}
else
{
ListNode *la=new ListNode(l2->val);
ll->next=la;
ll=la;
l2=l2->next;
}
}
while(l2!=NULL)
{
ListNode *la=new ListNode(l2->val);
ll->next=la;
ll=la;
l2=l2->next;
}
while(l1!=NULL)
{
ListNode *la=new ListNode(l1->val);
ll->next=la;
ll=la;
l1=l1->next;
}
return l;
}

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: