【LeetCode】21. 合并两个有序链表
发布时间:2024年01月23日
leetcode链接 21. 合并两个有序链表
#include <stdio.h>
struct ListNode {
int val;
struct ListNode *next;
};
typedef struct ListNode ListNode;
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
if (list1 == NULL && list2 == NULL) {
return NULL;
} else if (list1 == NULL || list2 == NULL) {
return list1 ? list1 : list2;
} else {
ListNode *newlist = NULL;
ListNode *tail = NULL;
while (list1 && list2) {
ListNode *tmp = NULL;
if (list1->val < list2->val) {
tmp = list1;
list1 = list1->next;
} else {
tmp = list2;
list2 = list2->next;
}
if (newlist == NULL) {
newlist = tail = tmp;
} else {
tail->next = tmp;
tail = tail->next;
}
}
tail->next = list1 ? list1 : list2;
return newlist;
}
}
文章来源:https://blog.csdn.net/m0_52602233/article/details/135660112
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!