合并两个有序链表(力扣刷题,c语言版)

作者: 砂糖dd分类: 校园学习 发布时间: 2024-04-12 16:19:33 浏览:223 次

合并两个有序链表(力扣刷题,c语言版)

砂糖dd:
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) { if (list1 == NULL) { return list2; } if (list2 == NULL) { return list1; } //让list1 和list2 就存原来的地址,p1和p2来变 struct ListNode* p1 = list1; struct ListNode* p2 = list2; struct ListNode * start = malloc(sizeof(struct ListNode) * 1);//start将来要返回的头地址 struct ListNode* p = start; while (p1 && p2) { if (p1->val <= p2->val) { p->val = p1->val; p1 = p1->next; } else { p->val = p2->val; p2 = p2->next; } if (p1 && p2) { p->next = malloc(sizeof(struct ListNode) * 1); p = p->next; } } if (p1 == NULL) { p->next = p2; } if (p2 == NULL) { p->next = p1; } return start; }

砂糖dd:
代码放下面了,大家刚开始做,可以参考一下

C语言 大学 经验分享 学习心得 力扣

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!