一、思路
二、源码
一、思路
创建一个新链表
两个链表比较,小于等于取下来尾插
循环结束条件为任意一个链表为空
最后将之剩下的链表直接尾插
二、源码
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){ if(list1 == NULL) return list2; if(list2 == NULL) return list1; struct ListNode *head = NULL,*tail = NULL; while(list1 && list2) { if(list1->val <= list2->val) { if(head == NULL) { head = tail = list1; } else { tail->next = list1; tail = tail->next; } list1 = list1->next; } else { if(head == NULL) { head = tail = list2; } else { tail->next = list2; tail = tail->next; } list2 = list2->next; } } if(list1) tail->next = list1; if(list2) tail->next = list2; return head; }
猜你喜欢
网友评论
- 搜索
- 最新文章
- 热门文章