您的位置:首页 > 其它

LeetCode:Merge Two Sorted Lists

2014-10-30 11:18 429 查看
题目描述:

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.

代码:
ListNode * Solution::mergeTwoLists(ListNode *l1, ListNode *l2)
{
ListNode * newList = NULL;
ListNode * rear = NULL;
while(l1 != NULL && l2 != NULL)
{
if(l1->val < l2->val)
{
insertIntoList(&newList,&rear,l1->val);
l1 = l1->next;
}
else
{
insertIntoList(&newList,&rear,l2->val);
l2 = l2->next;
}
}

while(l1 != NULL)
{
insertIntoList(&newList,&rear,l1->val);
l1 = l1->next;
}

while(l2 != NULL)
{
insertIntoList(&newList,&rear,l2->val);
l2 = l2->next;
}
return newList;
}

void Solution::insertIntoList(ListNode ** newList,ListNode ** rear,int val)
{
ListNode * newNode = (ListNode *)malloc((sizeof(ListNode)));
newNode->val = val;
newNode->next = NULL;
if((*newList) == NULL)
{
(*newList) = newNode;
(*rear)    = newNode;
}
else
{
(*rear)->next = newNode;
(*rear) = (*rear)->next;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: