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