LeetCode:Merge Two Sorted Lists
标题叙述性说明:
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;
}
}
版权声明:本文博主原创文章。博客,未经同意不得转载。

浙公网安备 33010602011771号