/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode {
int val;
struct ListNode *next;
};
#include <stdlib.h>
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
if(!l1&&!l2) return l1;
struct ListNode *p1 = l1,*p2 = l2;
struct ListNode *p= malloc(sizeof(struct ListNode)),*head = p;
while (p1||p2)
{
if(!p1){
p->next = p2;
p2 = p2->next;
}
else if(!p2){
p->next = p1;
p1 = p1->next;
}
else if(p1->val<=p2->val){
p->next = p1;
p1 = p1->next;
}else {
p->next = p2;
p2 = p2->next;
}
p = p->next;
}
struct ListNode *t = head;
head = head ->next;
free(t);
return head;
}
021-merge-two-sorted-lists
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Merge two sorted linked lists and return it as a new list...
- https://leetcode.com/problems/merge-two-sorted-lists/disc...
- 分类:LinkedList 考察知识点:LinkedList 最优解时间复杂度:**O(n) ** 21. Mer...
- 021 Merge two sorted lists Merge two sorted linked lists ...