目录
- 1.解题思路
- 2.代码实现
1.解题思路
遍历链表,通过判断两个链表的值从而链接到新的结点后面,遍历完毕后就得到了想要的链表.
2.代码实现
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{struct ListNode* p=NULL;
struct ListNode* newhead=NULL;while(list1&&list2){ if(list1->val<=list2->val){if(p==NULL){p=list1;list1=list1->next;newhead=p;}else{p->next=list1;list1=list1->next;p=p->next;}}else{if(p==NULL){p=list2;list2=list2->next;newhead=p;}else{p->next=list2;list2=list2->next;p=p->next;}}}if(list1==NULL&&newhead==NULL){newhead=list2;}else if(list2==NULL&&newhead==NULL){newhead=list1;}else if(list1==NULL&&newhead!=NULL){while(list2){p->next=list2;list2=list2->next;p=p->next;}}else if(list2==NULL&&newhead!=NULL){while(list1){p->next=list1;list1=list1->next;p=p->next;}}return newhead;
}
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!